btrfs 同じ inode 番号

btrfs 同じ inode 番号

btrfsファイルシステムがあり、最上位レベルのすべてのフォルダはinode 256です。
これは私にとっては良くありません。デバイスIDが同じであるため、これが「仮想inode番号」であり、Btrfsにはそれを実行する独自のメカニズムがあるとします。

ディレクトリごとに独自の物理inodeを取得することは可能ですか?

何が起こるかを確認してください:

root@ReadyNAS-DEV:/home# find  / -xdev -inum 256
/
/home
/data
/apps
root@ReadyNAS-DEV:/home#

これは良くありません。

ベストアンサー1

3つのディレクトリ/home/dataおよび/appsがマウントポイントであるとします。

に何かをマウントするときに/home報告されたinodeは、元のディレクトリのinode/homeではなく、マウントされたパーティションルートのinodeです。/homeしたがって、これらのinodeが他のパーティションのルートにあるinodeと同じであることは驚くべきことではありません。

私のOpenBSDコンピュータ(btrfsを使用しない):

$ find / -xdev -inum 2
/
/home
/usr
/var
/tmp

Ubuntu仮想マシンでも同じ現象が発生します。これは間違いではありません。

言い換えれば、異なるディレクトリへのシステムコールstatによって返される構造はstat()同じ値を持ちますが、値は異なりst_inoますst_dev。説明を参照stat()そしてsys/stat.hPOSIXでは。

-xdevこのオプションを誤って理解している可能性がありますfind。それで、ありません。削減他のファイルシステムのディレクトリに移動しますが、他の基準と一致する場合は、ディレクトリ名を印刷し続けます。

おすすめ記事