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입니다. 예, 상위 수준과 "최상위 수준"은 동일해야 합니다.

관련 정보