btrfs-Fehler beim Klonen von Extents während inkrementeller Sicherung

btrfs-Fehler beim Klonen von Extents während inkrementeller Sicherung

Ich versuche, ein Backup auf einer externen Festplatte durchzuführen. Sowohl die native als auch die externe Festplatte verwenden ein BTRFS-Dateisystem. Dazu erstelle ich zunächst einen schreibgeschützten Snapshot meines Home-Verzeichnisses:

# btrfs subvolume snapshot -r /home /.snapshots/home/BACKUP

Gefolgt von einem Senden/Empfangen an das Sicherungslaufwerk:

# btrfs send /.snapshots/home/BACKUP | btrfs receive /.backup/home

Ich erhalte diese Ausgabe:

At subvol /.snapshots/home/BACKUP
At subvol BACKUP
ERROR: failed to clone extents to matt/.local/share/Anki2/Matt/collection.anki2: Invalid argument

wo der Fehler nach etwa einer Minute auftritt. Ich habe es mit mehreren verschiedenen Snapshots versucht und bei jedem den gleichen Fehler erhalten. Außerdem konnte ich diese Datei in keinem der Snapshots finden. Ich dachte, dies könnte eine Art Festplattenbeschädigungsfehler sein, also habe ich ein USB-Betriebssystemabbild gebootet und ausgeführt

# btrfs check --repair /dev/mapper/...

auf dem nicht gemounteten Dateisystem. Dies meldete keine Fehler. Nachdem ich das Dateisystem wieder gebootet hatte, versuchte ich das Backup erneut und erhielt denselben Fehler. Irgendwelche Ideen, was die Ursache dafür sein könnte?


BEARBEITEN

Gemäß Emmanuel Rosas Kommentar habe ich versucht

# btrfs scrub start -B /

das ohne Fehler beendet wurde. Das Problem besteht nach dem Scrub immer noch.


BEARBEITEN 2

Ich konnte nicht herausfinden, was daran falsch war. Ich habe am Ende einfach die lokale Datei gelöscht und dann hat es wieder funktioniert.


BEARBEITEN 3

Durch das Löschen von Dateien lässt sich das Problem zwar vorübergehend beheben, es werden jedoch häufig neue Dateien erstellt, die denselben Fehler verursachen. Dies ist also nicht wirklich gelöst. SQLite-Dateien scheinen besonders problematisch zu sein.

Antwort1

Dies war offenbar ein Fehler im Linux-Kernel, der behoben wurde durchdieses Commit. Ich habe dies entdeckt, als icheine Frage auf der btrfs-Mailingliste. Durch ein Upgrade des Kernels wurde das Problem behoben.

verwandte Informationen