Inode Number正在改变

Bil*_*Bob 4 linux-kernel

我遇到了inode号的问题.当我挂载一个usb磁盘(让我们说usb-a)然后挂载另一个usb磁盘(usb-b)时,usb-a中的inode编号会被更改.

这是正常的吗?什么可能导致这个问题?我正在使用Linux Kernel 2.6.usb -a是vfat而usb-b是ntfs.

先谢谢你们.

dav*_*idg 6

FAT(以及类似的VFAT)文件系统实际上并不在磁盘上存储inode编号.相反,Linux可以看到文件中的inode数字.这些生成的inode编号存储在缓存中以尝试保持它们一致,但此缓存具有固定大小; 一旦它满了,旧的条目就会被丢弃.

据推测,安装第二个文件系统的行为足以导致VFAT文件系统上的inode编号缓存忘记您的文件,导致分配新的inode编号,并呈现您观察到的问题.

更多信息:

  • 在findutils邮件列表上讨论与此问题相关的错误
  • 的Linux内核源代码:FS /脂肪/ inode.c中(特别地,该呼叫到iuniquefat_build_inode其执行节点号码分配).