BTRFS: bytenr을 파일 경로로 해석

BTRFS: bytenr을 파일 경로로 해석

BTRFS 파티션(SSD -> luks -> BTRFS)에 몇 가지 오류가 있습니다.

btrfs check --check-data-csum -p --force /dev/mapper/sda3_crypt
...
mirror 0 bytenr 1337316519936 csum 850178701 expected csum 2442214357
mirror 1 bytenr 1337316519936 csum 850178701 expected csum 2442214357
mirror 1 bytenr 1337316524032 csum 3411875857 expected csum 208994536

어떤 파일이 영향을 받는지 알고 싶지만 inode가 제공되지 않습니다.

나열된 문제를 해결할 수 있는 방법이 있습니까?베이텔실제 파일 경로에 대한 값은 무엇입니까?

답변1

해결하기 위해베이텔다음 명령을 사용하십시오.

btrfs inspect-internal logical-resolve <bytenr> <path>

<path>모든 스냅샷에서 영향을 받는 파일을 나열할 수 있으려면 BTRFS 최상위 하위 볼륨을 가리켜야 합니다 .베이텔여러 스냅샷에 존재하는 파일로 연결되었을 수 있음).

예:

mkdir /mnt/btrfs-root
mount -t btrfs -o subvolid=5 /dev/sda2 /mnt/btrfs-root

btrfs inspect-internal logical-resolve 1337316519936 /mnt/btrfs-root

umount /mnt/btrfs-root && rmdir /mnt/btrfs-root

참고: subvolid=5"BTRFS 루트"(또는 최상위 하위 볼륨)가 마운트됩니다.새로 생성된 파일 시스템도 최상위 레벨이라고 불리는 하위 볼륨이며 내부 ID는 5입니다.(kernel.org)

관련 정보