Inode Number正在改变

时间:2011-01-12 09:48:21

标签: linux-kernel

我遇到了inode号码问题。当我挂载一个usb磁盘(让我们说usb-a)然后安装另一个usb磁盘(usb-b)时,usb-a中的inode编号就会改变。

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

先谢谢你们。

1 个答案:

答案 0 :(得分:6)

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

假设安装第二个文件系统的行为足以导致VFAT文件系统上的inode编号缓存忘记您的文件,导致分配新的inode编号,并显示您观察到的问题。

更多信息:

  • Discussion关于findutils邮件列表中与此问题相关的错误
  • Linux内核源代码:fs/fat/inode.c(特别是iuniquefat_build_inode的调用,执行inode编号分配。)