JFS 文件系统概述及布局分析(六)
2009-05-13 00:48:10来源:未知 阅读 ()
AG空闲inode盘区列表
AG空闲inode盘区列表有助于解决反向查找问题以及空闲inode号查找问题。这使得JFS能找到下一个空闲盘区所在的IAG号和AG号。(实际是给出了空闲inode号。)每个文件集的每个AG都有一个AG空闲inode盘区列表。为减少扩展和缩减聚集的系统开销,JFS设定每个聚集允许的最大AG数。所以,AG空闲inode盘区列表头的个数是固定的。列表头在inode分配映射表的控制页中。表的第i项是一个双向列表的头,该双向列表是第i个AG中所有包含空闲inode的inode分配映射表项(IAG)的集合。IAG号作为列表索引。-1表示列表尾。每个IAG控制区都包含指向该列表的正向和反向指针。
当盘区中所有的inode都已删除,则释放该inode盘区的磁盘块。当IAG的一个inode盘区被删除时,该IAG插至所属的AG空闲inode盘区列表的表头。当创建新的IAG,并分配一个inode盘区时,该IAG号插至AG空闲inode盘区列表的表头。当IAG的所有inode盘区分配完时,从列表中删除该IAG。当释放IAG的所有inode盘区时,从列表中删除该IAG同时加到IAG空闲列表中。当AG需要分配inode盘区时,则使用AG空闲列表头上的第一项。
此表没有记日志;但可以在恢复时由logredo恢复,或由fsck重建。
表的结构定义见jfs_imap.h,structdinomap_t.
IAG空闲列表
IAG空闲列表有助于查找空闲inode号。这使得JFS不用查看相应分配的inode盘区就可找到IAG。(实际时给出了空闲inode号)。聚集和其每个文件集都有自己的链表。该列表的每个项指向一个IAG链表。IAG号作为列表索引。-1表示列表尾。当删除盘区的所有inode时,则释放该inode盘区的磁盘块。如果某个IAG的所有inode都为空闲,则该IAG号插入IAG空闲列表头。当需要分配新的inode盘区,而该AG中又没有包含空闲盘区的IAG,则使用IAG空闲列表头的第一项(即从表中删除)。inode盘区分配描述符一经分配就不再删除。inode盘区的地址设为0x0。
对于聚集IAG空闲列表头是聚集自用inode的一个字段。对于每个文件集IAG空闲列表头是文件集分配映射表inode的一个字段。该列表没记日志;但可在恢复时由logredo修复,或由fsck重建。
IAG空闲列表的结构定义structinomap_t在文件jfs_dinode.h中。
下一个空闲IAG
下一个空闲IAG计数器有助于查找空闲inode号。使得JFS能找到下一个可以分配的IAG的iag号。(实际是让JFS找到空闲inode号)。聚集和其每个文件集都有自己的计数器。计数器在inode分配映射表的控制页中。IAG一经分配就不再删除。
文件集分配inode
文件集inode表中的文件集分配映射表inode是特殊类型的inode。既然这些节点表示文件集,则可以说是文件集的“父inode”。这些节点包含文件集特定信息,而不是一般的inode数据。同时也记录文件集inode分配映射表在B+树中的位置。结构定义structdinode见文件jfs_dinode.h
文件
文件由包含一个B+树根的inode表示,B+树描述包含用户数据的盘区。B+树以盘区的偏移量作为索引。
符号链接
符号链接由一个inode表示,该inode的di_mode字段设置为符号链接模式(S_IFLNK)。如果inode内有空间,则链接文件的整个路径直接存储在inode中。否则,将作为inode的数据存于盘区中(通过该inode的B+树索引)。
目录
目录是JFS中日志化的元数据文件。目录由目录项组成,目录项表示目录中包含的对象。目录项将名字和inode号连接在一起。特定的inode描述特定名字的对象。为提高目录项定位的性能,B+树采用按名排序。
目录inode的di_size字段仅表示目录B+树的叶子页。如果inode中包含目录的叶节点,则di_size字段为256。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:Linux环境下的高级隐藏技术
- linux修改环境变量分析 2020-06-05
- 【原创】Linux中断子系统(一)-中断控制器及驱动分析 2020-05-31
- Linux下分析bin文件的10种方法 2020-05-21
- 【原创】Linux信号量机制分析 2020-05-17
- Shell学习 2020-05-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash