
Ich habe mehrere Fehler auf meiner BTRFS-Partition (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
Ich würde gerne wissen, welche Dateien betroffen sind, aber es sind keine Inodes angegeben.
Gibt es eine Möglichkeit, das aufgeführtebytenrWerte zu einem tatsächlichen Dateipfad?
Antwort1
Zur Lösung des Problemsbytenrverwenden Sie den folgenden Befehl:
btrfs inspect-internal logical-resolve <bytenr> <path>
wobei <path>
auf das BTRFS-Subvolume der obersten Ebene verweisen sollte, um die betroffenen Dateien in allen Snapshots auflisten zu können (einbytenrkann durch eine Datei verknüpft sein, die in mehreren Snapshots vorhanden ist).
Beispiel:
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
Bitte beachten: subvolid=5
Es wird das „BTRFS-Stammverzeichnis“ (oder das Untervolume der obersten Ebene) gemountet.Ein neu erstelltes Dateisystem ist ebenfalls ein Untervolume, das als Top-Level-Volume bezeichnet wird und intern die ID 5 hat.(Kernel.org)