2011-01-12 16 views
4

iノード番号に問題があります。私が1つのUSBディスクをマウントすると(usb-aと言う)、別のusbディスク(usb-b)をマウントすると、usb-aのiノード番号が変更されます。iノード番号が変更されています

これは正常ですか?何がこの問題を引き起こす可能性がありますか?私はLinuxカーネル2.6を使用しています。 usb-aはvfat、usb-bはntfsです。

ありがとうございました。

+0

あなたは、システムを再起動してもiノード番号が永続的ではないことを意味していますか? – shahir

答えて

6

FAT(および同様にVFAT)ファイルシステムは実際にディスクにiノード番号を格納しません。代わりに、Linuxは、ファイルが表示されている間、オン・ザ・フライでinode番号を生成します。これらの生成されたiノード番号は、一貫性を保つためにキャッシュに格納されますが、このキャッシュは固定サイズです。いっぱいになると、古いエントリが破棄されます。

おそらく、2番目のファイルシステムをマウントすると、VFATファイルシステムのiノード番号キャッシュがファイルを忘れてしまい、新しいiノード番号が割り当てられ、問題を提示するのに十分です。

詳細情報:リスト

  • Linuxカーネルのソースを郵送するのfindutilsでこの問題に関連したバグに関する

    • Discussion:iノード番号の割り当てを行うfat_build_inodeiuniquefs/fat/inode.c(特に、コール)。
  • 関連する問題