
我的 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
我想知道哪些文件受到影響,但沒有給出索引節點。
有沒有辦法解決列出的問題拜騰爾值到實際的檔案路徑?
答案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 root”(或頂級子磁碟區)。新建立的檔案系統也是一個子卷,稱為頂級,內部有一個 id 5。(內核.org)