ext4 标志指定“范围”模式?

ext4 标志指定“范围”模式?

我格式化了一个带有和不带有extents功能的新文件系统,只是为了了解此功能的工作原理。然而,当我查看 inode 字段时,i_flags我发现该字段始终具有零值(对于“已使用”的 inode 2、7 和 11)。

关于范围的文档(来自 Kernel.org)说,这个标志应该为使用范围的索引节点设置 0x80000 位 - 但看起来它不准确。

我可以在同一个文件系统中拥有带扩展区和不带扩展区的 inode 吗?我应该依靠 来i_flags确定方式,如何i_block使用该字段?或者它只是超级块中的一个文件系统范围的标志,它规定了所有 inode 的扩展使用情况?

答案1

extents标志是为每个 inode 存储的,因此可以将没有范围的 ext3 文件系统升级到 ext4,然后extents在超级块中启用该功能,并且将在extents启用的情况下创建新的 inode。您绝对应该检查每个索引节点标志来决定i_blocks每个文件的使用方式。

相关内容