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,因为它位于 @ 子卷内。是的,父级和“顶级”应该相同。

相关内容