Filesystems inode的代数是多少?

Filesystems inode的代数是多少?,filesystems,linux-kernel,fuse,inode,vfs,Filesystems,Linux Kernel,Fuse,Inode,Vfs,我计划使用低级API实现一个FUSE文件系统,目前正在尝试理解FUSE\u entry\u param结构 我想知道无符号长保险丝\u entry\u param::generation实际上意味着什么。只是在文件系统的生命周期中,ino/生成对应该是唯一的,但不涉及任何细节 inode生成的语义是什么?它们是如何使用的 例如,我可以把生成>代码>作为 ION/COD>(类似某种名称空间)的一个附加位,并使用它们随意映射任意生命周期唯一的128位( 2×sieof(未签名长) x8664 64)

我计划使用低级API实现一个FUSE文件系统,目前正在尝试理解
FUSE\u entry\u param
结构

我想知道
无符号长保险丝\u entry\u param::generation
实际上意味着什么。只是在文件系统的生命周期中,
ino
/
生成
对应该是唯一的,但不涉及任何细节

inode生成的语义是什么?它们是如何使用的


例如,我可以把<代码>生成>代码>作为<代码> ION/COD>(类似某种名称空间)的一个附加位,并使用它们随意映射任意生命周期唯一的128位(<代码> 2×sieof(未签名长)<代码> x8664 64)值到iNODE吗?还是说世代只能按顺序递增?当inode编号发生冲突,但它们的生成编号不同时会发生什么情况?

如果inode编号生成器可能在不同时间为同一对象生成不同的inode编号,“生成”字段很重要。这在磁盘文件系统中并不常见,但在网络文件系统(如NFS,请参阅)中可能会发生这种情况

其中提到,服务器在重启后可能会使用一组不同的(fuse)inode编号/(nfs)文件句柄。如果发生这种情况,则新的inode编号可能以与服务器重新启动前给出的inode编号不同的方式映射到对象

客户端可以在重新启动之前和重新启动之后为inode集使用不同的生成编号,以明确哪个inode是指哪个inode

如果您的文件系统具有索引节点的静态生成方案(其中索引节点编号始终指向同一对象),则无需使用生成编号,它可以用于扩展索引节点编号