存档

文章标签 ‘文件系统’

文件系统稳定性探讨

2016年6月5日 没有评论 17,788 次浏览

一,引入:为什么说保证无损坏或数据丢失的写文件非常难? 一.1)举个栗子,假定有一个包含有字符串foo的文件txt,现在要将其更新为bar,那么可以采用pwrite函数: pwrite(, "bar", 3, 0) ... [阅读更多]

ext4文件系统的磁盘布局

2012年2月2日 没有评论 7,206 次浏览

大体上看,ext4文件系统的磁盘布局与前面介绍的xfs有些类似,它同样是先把磁盘分成一个个相同大小的block块(每个block块的大小默认是4K),然后把这些block块逻辑上合成多个group组,每个group组内的布局基本一致,除了第一个group组(即group... [阅读更多]

ext4禁用日志功能

2012年2月2日 没有评论 9,799 次浏览

ext4提供有很多特性,当然有一些是前一代文件系统ext3本身就具有的,比如日志功能,但有时候我们却并不需要这些特性,则我们可以禁用它们。ext4文件系统的日志功能就是在牺牲一定性能的情况下增强稳定性的一种手段,但在一些情况,比如Web... [阅读更多]

reiserfs文件系统的磁盘布局

2012年2月1日 1 条评论 2,887 次浏览

reiserfs文件系统的磁盘布局比较简单,它把整块分区分成相同大小的block块,一个block块的大小默认是4K,而最大块数未2^32次方,即一个分区最大大小为16TB。 reiserfs文件系统分区的前64KB总是为分区标签(partition... [阅读更多]

Xfs文件系统磁盘布局之十八:总结

2012年1月11日 1 条评论 3,867 次浏览

关于Xfs文件系统磁盘布局结构的分析到此就算结束,经过一段时间的分析,Xfs在这方面主要设计基本已经了解,后面还有的磁盘布局,包括软链接、扩展属性等与前面的这些内容存放方式与布局并无多大差别,所以不准备继续写下去了,自己看一下即可。所有的文章内容主要依靠官方文档与实验简单验证而没有分析到具体的代码,所以很多细节可能被漏过,甚至还包含有错误,后续若看到后再进行文章修订。 后续仍会继续关注Xfs文件系统,当然,不再是磁盘布局这么基础的内容,而是会从它的一些特性上去去分析它是怎么设计的、代码怎么实现的、是否存在问题和是否可有改进等。 ... [阅读更多]

Xfs文件系统磁盘布局之十七:目录文件数据结构(续)

2012年1月10日 没有评论 3,338 次浏览

当仅一块“directory block”无法存放和组织所有的子文件相关信息时,此时就需要更多块的“directory block”,这些“directory block”块信息仍以数组的形式组织起来存放在inode的data... [阅读更多]

Xfs文件系统磁盘布局之十六:目录文件数据结构(续)

2012年1月10日 1 条评论 1,990 次浏览

上一篇实例里讲到“directory block”块存放在startblock指向的逻辑block块内,块号为36(注意我这里“directory block”和“逻辑block”大小一致),先看看其内容: # /home/lenky/xfs/xfsprogs/db/xfs_db... [阅读更多]

Xfs文件系统磁盘布局之十五:目录文件数据结构(续)

2012年1月10日 没有评论 2,611 次浏览

当一个目录文件下的子文件比较多,其子文件的相关信息以简短方式无法在inode的data fork内存放时,就要被转移到一个新的单独的“directory block”块内。“directory... [阅读更多]

Xfs文件系统磁盘布局之十四:目录文件数据结构

2012年1月9日 2 条评论 2,804 次浏览

对于目录类型的文件来说,其文件内容就是该目录下管理的所有文件(也即是子目录、普通文件等等)的信息(比如文件名、inode号等),随着目录文件内容的多少不同,存放的方式也不同,本篇就先介绍最简单的存放方式,称为简短方式(Shortform... [阅读更多]

Xfs文件系统磁盘布局之十三:普通文件数据结构(续)

2012年1月7日 2 条评论 2,414 次浏览

仍然按照我的习惯,先弄出一B+tree的“extents”,采用的方法就先把磁盘给填满,然后随机删除一些文件,然后再写一个超大文件,由于前面两步操作使得磁盘上的free... [阅读更多]