ext4 inode 结构中的 32 位块地址

ext4 inode 结构中的 32 位块地址

在 Linux 内核源代码中,磁盘 inode 结构中的块号是 32 位的。为什么? Linux 当然可以支持超过 2^32 的块......

答案1

数组的解释inode.i_block Ext4 中有所不同与以前的磁盘文件系统格式相比。在 Ext4 中,当 inode 具有该数组EXT4_EXTENT_FL中的集合时i_flags,该数组存储范围树的根和最多四个范围描述符(struct ext4_extentstruct ext4_extent_idx)。您会注意到,在范围描述符中,有 48 位用于块地址。对于较旧的磁盘格式,例如 Ext3,最大块数确实适合 32 位。

Ext4数据结构和算法, 部分4.2 inode.i_block的内容

相关内容