如何迭代所有inode属于Linux上的文件系统?

时间:2011-04-30 22:47:17

标签: c linux linux-kernel

获取文件系统的所有inode的有效方法是什么?从理论上讲,像fsck这样的东西需要这样做。

2 个答案:

答案 0 :(得分:1)

dumpe2fse2fsprogs包的一部分,可以将信息转储到ext *文件系统中的inode上。

答案 1 :(得分:0)

  1. 最简单/天真的方式:迭代所有可能的值(可能是所有可能的32位值)并使用ilookup5()ilookup()(取决于每个值)进行探测在你的用例上)。
  2. 对于内核版本2.4 :迭代使用中的列表,而不是使用inode列表。这些列表将只包含那些有效的inode。这种方法的问题是VFS层似乎没有提供任何接口来访问这些列表,所以你必须直接访问它们,这不是一个好主意。