我正在计划使用低级API实现一个FUSE文件系统,并试图理解 fuse_entry_param
结构。
我想知道 unsigned long fuse_entry_param::generation
实际上是什么意思。 文档 只是说,ino
/generation
对应应该在文件系统的生命周期内是唯一的,但没有详细说明。
inode生成的语义是什么,它们如何使用?
例如,我能否将 generation
视为 ino
的附加位(类似于某种命名空间),并自由地使用它们将任意生命周期唯一的128位(x86_64 上的 2*sizeof(unsigned long)
)值映射到inode上?或者,是否只能依次递增使用inode生成号码?当inode编号发生冲突时,但其生成编号不同时会发生什么?