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