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

Я хотел бы узнать, какие файлы затронуты, но иноды не указаны.

Есть ли способ решить перечисленныеbytenrзначения фактическому пути к файлу?

решение1

Чтобы решитьbytenrиспользуйте следующую команду:

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

где <path>следует указать на подтом верхнего уровня BTRFS, чтобы иметь возможность перечислить затронутые файлы во всех моментальных снимках (одинbytenrможет быть связан с файлом, который существует в нескольких снимках).

Пример:

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» (или подтом верхнего уровня).Вновь созданная файловая система также является подтомом, называемым верхним уровнем, и имеет внутренний идентификатор 5.(Kernel.org)

Связанный контент