【发布时间】:2011-08-04 12:47:14
【问题描述】:
如何遍历 FUSE 文件系统的超级块中的 inode?文档没有说明这一点。
【问题讨论】:
-
遍历 inode 是什么意思?
-
我的意思是我希望能够有一个指向每个 inode 的指针——可能是某种结构。
-
FUSE 是一个接口,而不是一个文件系统。 FUSE 后端代表的虚拟文件系统可能没有 inode 或超级块,它可能根本无法以可枚举的方式表示文件。 (例如,很容易编写一个包含所有可能文件名的 FUSE 文件系统,每个文件都包含其名称。)
-
是否可以伪造每个文件和目录都有一个inode?这也足够了。
-
FUSE 可以做一些非常危险的事情,并导致主机以危险的方式行事。特别是,要符合 POSIX,每个文件必须具有唯一的
dev_t、ino_t对。这是能够识别 2 个名称或文件描述符是否引用同一个文件的关键。每个可能的文件名都存在的文件系统具有比ino_t值更多的文件,因此存在一个大问题。可悲的是,在 Linux 内核人员中似乎很流行给人们足够的绳索来炸毁宇宙......