2011-01-12 145 views
4

我遇到inode編號問題。當我裝入一個USB磁盤(比方說usb-a),然後掛載另一個USB磁盤(usb-b)時,usb-a中的inode號碼會改變。Inode數量正在變化

這是正常的嗎?什麼可能導致這個問題?我正在使用Linux Kernel 2.6。 usb-a是vfat,usb-b是ntfs。

在此先感謝你們。

+0

你的意思是索引節點號碼在系統重啓時不會持久? – shahir 2012-02-28 10:59:04

回答

6

FAT(和類似的VFAT)文件系統實際上並不在磁盤上存儲inode編號。相反,Linux在發現文件時即時創建inode數字。這些生成的inode編號存儲在緩存中,以嘗試保持它們的一致性,但該緩存具有固定的大小;一旦它滿了,舊的條目將被丟棄。

假設掛載第二個文件系統的行爲足以導致VFAT文件系統上的inode號碼緩存遺忘了您的文件,從而導致分配新的inode號碼並呈現您觀察到的問題。

的更多信息:

  • Discussion約有關的的findutils這個問題的郵件列表中的錯誤
  • Linux內核源:fs/fat/inode.c(特別是在fat_build_inode調用iunique執行的inode編號分配)。