btrfsの「親ID」と「トップレベル」が違うのですか?

btrfsの「親ID」と「トップレベル」が違うのですか?

これは openSuse システムのサブボリュームのリストです。

# btrfs subvolume list -p /mnt/openSuse/
ID 256 gen 479 parent 5 top level 5 path @
ID 258 gen 479 parent 256 top level 256 path var
ID 259 gen 307 parent 256 top level 256 path usr/local
ID 260 gen 479 parent 256 top level 256 path tmp
ID 261 gen 272 parent 256 top level 256 path srv
ID 262 gen 480 parent 256 top level 256 path root
ID 263 gen 325 parent 256 top level 256 path opt
ID 264 gen 479 parent 256 top level 256 path home
ID 265 gen 272 parent 256 top level 256 path boot/grub2/x86_64-efi
ID 266 gen 272 parent 256 top level 256 path boot/grub2/i386-pc

上位レベルと最上位レベルは常に同じです。 (@ 5 = 5、その他256 = 256)同じですか?

そしてもう一つ。 gen(世代ID)とはどういう意味ですか?

ベストアンサー1

以下は次の場所に記録されますman btrfs-subvolume

各サブボリュームについて、デフォルトではID、gen、トップレベル、およびパス情報が表示されます。

ID はサブボリュームの ID です。

gen はすべてのトランザクションごとに更新される内部カウンタです。

トップレベルは、親ボリュームとサブボリュームと同じIDを持ちます。

path は、サブボリュームから最上位サブボリュームまでの相対パスです。

あなたの質問で次の例を考えてみましょう。

ID 256 gen 479 parent 5 top level 5 path @
ID 258 gen 479 parent 256 top level 256 path var

子ボリューム @ の親ボリュームは 5 です。これは、最上位サブボリュームのID(リストには表示されません)であるためです。サブボリュームvarの親ボリュームは@サブボリュームの内側にあるため、256です。はい、上位レベルと「トップレベル」は同じでなければなりません。

おすすめ記事