块和inode位图

数据块位图跟踪块组内数据块的使用情况。

inode位图记录了inode表中哪些条目正在使用。

与大多数位图一样,一个位代表一个数据块或inode表条目的使用状态。这意味着块组大小为 8 * logical_block_中的字节数。

注意:如果给定块组设置了 BLOCK_UNINIT,内核和 e2fsprogs 代码的各个部分会假定块位图包含零(即组中所有块都是空闲的)。然而,并非所有块都一定没有被使用——如果设置了 meta_bg,位图和组描述符将存在于组内。不幸的是,ext2fs_test_block_bitmap2() 将为这些位置返回“0”,这会产生令人困惑的 debugfs 输出。

Inode表

inode表在mkfs时静态分配。每个块组描述符指向表的起始位置,并且超级块记录了每个组的inode数量。更多信息请参见inode相关章节。