我正在尝试在内核模块中检索 ext4 文件系统 inode 中的直接/间接等地址。我知道我需要查看 ext_inode_info 结构(我通过 container_of 使用相关的 vfs_inode 执行此操作)。但是我应该研究哪个领域?
例如,我在哪里可以找到第一个直接指针?我以为它存储在 i_data 数组中(它在 ext3_inode_info 中)。但是对于 ext4 inode,当我检查 i_data 中的第一个条目时,我得到的扇区地址与保存第一个数据块地址的实际扇区不太相似。
任何帮助将不胜感激。
==编辑==
好的,所以我似乎已经理解了基本问题。我有一个基于范围的 ext4 文件系统。不知道此更改,并且默认情况下已启用。那么有没有一种简单的方法可以通过偏移量提取块的物理地址呢?我再次尝试通过查看第一个范围来验证第一个物理块(逻辑 0),但我得到了一些乱码(尽管每个 inode/文件都是一致且唯一的,因此取得了一些进展)。