首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么inode偏移值显示超过inode大小?

为什么inode偏移值显示超过inode大小?
EN

Unix & Linux用户
提问于 2020-03-04 00:24:55
回答 1查看 454关注 0票数 0

我正在研究Ext4文件系统,并对128个字节的inode大小感到困惑,因为它似乎与它存储的最后一个元数据值相冲突,该值应该在字节156个处偏移。

在这个文档中,它声明inode的长度为128个字节。我在卸载的/dev/sdb1 1上调用了dumpe2fs。dumpe2fs结果证实了inode大小为128。

但是我很困惑,因为这个文档描述了存储在inode中的元数据。元数据的每个条目都有相应的物理偏移量。最后一个条目是项目id。它的偏移量为0x9c ( 156为整数)。

元数据偏移量似乎超过了所分配的inode大小。我在这里误解了什么?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2020-03-04 01:04:05

它指出inode的长度为128个字节。

不是的。它指出:

每个inode <#>的磁盘记录大小为128字节。从ext4开始,可以在格式化时为文件系统中的所有inode分配一个更大的磁盘inode,以提供原始ext2 inode结束后的空间。磁盘上inode记录大小以s_inode_size的形式记录在超级块中.结构ext4_inode在原始的128个字节ext2 inode之外实际使用的字节数默认记录在i_extra_isize字段中,ext4 inode记录为256个字节,(截至2019年8月) inode结构为160个字节(i_extra_isize = 32)。

你的怀疑:

最后一个条目是项目id。其偏移量为0x9c (作为整数为156 )。元数据偏移量似乎超过了所分配的inode大小。

最后一个条目从156个开始,花费4个字节(__le32)。它在默认的160字节之内。

如果dumpe2fs说您的文件系统的inode大小为128个,这意味着文件系统使用原始的128个字节的ext2 inode。不存在i_extra_isize (它将位于偏移量0x80,十进制128)或其他任何指定的值。

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/571020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档