[ext4]磁盘布局 - inode bitmap & table
2014-03-27 14:28
316 查看
在[磁盘布局 group部分]已经介绍过ext4的整体布局,其中存在两个与inode有关的名称:inode bitmap和inode table。
Inode bitmap,用于表示inode table中对应的inode entry是否已经使用。Bitmap中每个位对应于一个table中inode entry。一个group中Inodebitmap只占用一个block,并且block所有的空间均用于标识inode的使用情况。
Inode table至少存放sb.s_inode_size* sb.s_inodes_per_group bytes大小。Table中的entries仅用来存放ext4_inode,每个entry大小为256 bytes。Inode所在的block Number可以通过下面的计算公式获得(inode_number - 1) /sb.s_inodes_per_group
Inode在group table中的offset:(inode_number -1) % sb.s_inodes_per_group
Ext4_inode的磁盘布局:
参见地址:https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Inode_Table
其中ext4_inode中的i_block值得我们仔细分析:
如果是非inlinedata inode,那么在i_block中将存放ext4_extent_header结构体数据(大小为12bytes),另外还有4个entry,用于索引extent tree。
Inode bitmap,用于表示inode table中对应的inode entry是否已经使用。Bitmap中每个位对应于一个table中inode entry。一个group中Inodebitmap只占用一个block,并且block所有的空间均用于标识inode的使用情况。
Inode table至少存放sb.s_inode_size* sb.s_inodes_per_group bytes大小。Table中的entries仅用来存放ext4_inode,每个entry大小为256 bytes。Inode所在的block Number可以通过下面的计算公式获得(inode_number - 1) /sb.s_inodes_per_group
Inode在group table中的offset:(inode_number -1) % sb.s_inodes_per_group
Ext4_inode的磁盘布局:
参见地址:https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Inode_Table
其中ext4_inode中的i_block值得我们仔细分析:
如果是非inlinedata inode,那么在i_block中将存放ext4_extent_header结构体数据(大小为12bytes),另外还有4个entry,用于索引extent tree。
相关文章推荐
- [ext4]磁盘布局 - inode bitmap & table
- [ext4]010 磁盘布局 - 如何查找inode的磁盘位置
- [ext4]010 磁盘布局 - 如何查找inode的磁盘位置
- [ext4]06 磁盘布局 - 特殊inode
- [ext4]06 磁盘布局 - 特殊inode
- [ext4]07 磁盘布局 - 块/inode分配策略
- [ext4]07 磁盘布局 - 块/inode分配策略
- Android学习 9-> 表格布局TableLayout和网格布局GridLayout
- [ext4]03 磁盘布局 – Flexible group分析
- [ext4]03 磁盘布局 – Flexible group分析
- EXT4文件系统的磁盘布局
- HTML布局----div布局&&table
- linux中ext4系统出现索引inode(索引节点)满,提示磁盘空间不足
- [ext4]04 磁盘布局 - Meta Block Groups
- 在table中<tr>的display:block显示布局错乱
- [ext4]04 磁盘布局 - Meta Block Groups
- [ext4]05 磁盘布局 - 延迟块组初始化
- [ext4]05 磁盘布局 - 延迟块组初始化
- [ext4]01 磁盘布局 - block分析
- EXT4 之 文件系统在磁盘上的布局 之一