BTRFS Warnungen beim umount

JensF

Renowned Member
Feb 14, 2020
405
161
83
Seit Kernel 7.0.14-18-pve (und 7.0.14-19-pve) kommt beim umount eines USB-RDX-Laufwerks, welches auf BTRFS formatiert ist, folgende Warnungen:
Code:
Sep 24 11:58:14 pbs2 kernel: BTRFS warning (device sdc1): unable to release extent buffer 22036480 owner 3 gen 8 refs 4 flags 0x5
Sep 24 11:58:14 pbs2 kernel: BTRFS warning (device sdc1): unable to release extent buffer 30425088 owner 5 gen 5 refs 4 flags 0x5
Sep 24 11:58:14 pbs2 kernel: BTRFS warning (device sdc1): unable to release extent buffer 30441472 owner 9 gen 7 refs 4 flags 0x5
Sep 24 11:58:14 pbs2 kernel: BTRFS warning (device sdc1): unable to release extent buffer 30474240 owner 2 gen 9 refs 4 flags 0x5
Sep 24 11:58:14 pbs2 kernel: BTRFS warning (device sdc1): unable to release extent buffer 30490624 owner 7 gen 5 refs 4 flags 0x5
Sep 24 11:58:14 pbs2 kernel: BTRFS warning (device sdc1): unable to release extent buffer 30507008 owner 10 gen 9 refs 4 flags 0x5
Sep 24 11:58:14 pbs2 kernel: BTRFS warning (device sdc1): unable to release extent buffer 30523392 owner 18446744073709551607 gen 5 refs 4 flags 0x5
Sep 24 11:58:14 pbs2 kernel: BTRFS warning (device sdc1): unable to release extent buffer 30588928 owner 1 gen 9 refs 4 flags 0x5
Sep 24 11:58:14 pbs2 kernel: BTRFS warning (device sdc1): unable to release extent buffer 30605312 owner 4 gen 9 refs 4 flags 0x5
Dies betrifft PVE sowie auch PBS (alle Updates aus dem no-sub Repos installiert).
Ein Kernel pin auf 7.0.14-17-pve bringt dann wieder keine Warnungen mehr.
Schauen wir mal, was das nächste Kernel-Update bringt.
Edit: Betrifft auch BTRFS formatierte USB-Sticks.
Liegt also nicht am RDX.
 
Last edited:
Hm, die Meldung kommt beim Unmount, wenn noch Referenzen auf Extent-Buffer offen sind. Sieht für mich nach einem Refcount-Leak aus, der mit dem neuen Kernel reingekommen ist. Die Daten sollten das nicht betreffen, bin mir aber nicht 100% sicher. Zur Sicherheit würd ich nach dem nächsten Mount mal btrfs scrub start -B /mountpoint laufen lassen, oder im ausgehängten Zustand btrfs check --readonly /dev/sdc1. Dann weißt du, ob auf dem Medium wirklich alles sauber ist.

Da du es zwischen -17 und -18 schon so klar eingrenzen kannst, lohnt sich ein Eintrag auf https://bugzilla.proxmox.com. Einfach die beiden Kernelversionen und die Log-Zeilen reinkopieren und dazuschreiben, dass es ein USB-RDX-Laufwerk mit BTRFS ist. Mit so einer Eingrenzung finden die den verantwortlichen Patch meistens recht schnell.
 
  • Like
Reactions: JensF
Ein btrfs check hatte ich direkt gemacht, hätte ich dazu schreiben sollen. Keine Fehler gefunden.
Man muss auch gar nichts vom Laufwerk gelesen oder geschrieben haben. Einfach nur mount /dev/sdc1 und direkt wieder umount /dev/sdc1 und die Warnungen erscheinen. Hab's nur mit USB-Laufwerken/Sticks testen können.
Hab noch keinen Account bei bugzilla. Vielleicht mach ich das noch.
 
@JensF
und warum ist das Medium mit btrfs formatiert.
Gibt es mit XFS oder EXT4 auch ein Problem?
 
Last edited:
Kleine Info: Auch mit Kernel 7.0.14-20-pve und 7.0.14-22-pve taucht besagter Fehler auf.
 
Last edited:
Dass es auch mit -20 und -22 noch auftritt, spricht eher dafür, dass das bei Proxmox noch keiner auf dem Schirm hat. Wenn du dir keinen Bugzilla-Account anlegen willst, kann ich das auch eintragen und den Thread verlinken, sag einfach Bescheid. Vorher testest du schnell, ob USB überhaupt eine Rolle spielt. Mit nem Loop-Device geht das in einer Minute:
Code:
truncate -s 1G /tmp/btrfs-test.img
mkfs.btrfs /tmp/btrfs-test.img
mount -o loop /tmp/btrfs-test.img /mnt
umount /mnt
journalctl -k -n 20
Kommen die Warnungen dort auch, ist es ein reines BTRFS-Kernel-Thema, nicht USB. Dann kannst du den Bug viel leichter nachstellen.
 
  • Like
Reactions: JensF
@Bu66as gleiche Warnungen mit Loop-Device:
Code:
Oct 07 18:52:21 pve2 kernel: loop0: detected capacity change from 0 to 2097152
Oct 07 18:52:21 pve2 kernel: BTRFS: device fsid 2ccecb96-c6c2-447e-b668-961f4a11997d devid 1 transid 8 /dev/loop0 (7:0) scanned by mount (1484165)
Oct 07 18:52:21 pve2 kernel: BTRFS info (device loop0): first mount of filesystem 2ccecb96-c6c2-447e-b668-961f4a11997d
Oct 07 18:52:21 pve2 kernel: BTRFS info (device loop0): using crc32c checksum algorithm
Oct 07 18:52:21 pve2 kernel: BTRFS info (device loop0): deleted orphan free space tree entries
Oct 07 18:52:21 pve2 kernel: BTRFS info (device loop0): checking UUID tree
Oct 07 18:52:21 pve2 kernel: BTRFS info (device loop0): enabling ssd optimizations
Oct 07 18:52:21 pve2 kernel: BTRFS info (device loop0): turning on async discard
Oct 07 18:52:21 pve2 kernel: BTRFS info (device loop0): enabling free space tree
Oct 07 18:52:26 pve2 kernel: BTRFS info (device loop0): last unmount of filesystem 2ccecb96-c6c2-447e-b668-961f4a11997d
Oct 07 18:52:26 pve2 kernel: BTRFS warning (device loop0): unable to release extent buffer 22036480 owner 3 gen 8 refs 4 flags 0x5
Oct 07 18:52:26 pve2 kernel: BTRFS warning (device loop0): unable to release extent buffer 30425088 owner 5 gen 5 refs 4 flags 0x5
Oct 07 18:52:26 pve2 kernel: BTRFS warning (device loop0): unable to release extent buffer 30441472 owner 9 gen 7 refs 4 flags 0x5
Oct 07 18:52:26 pve2 kernel: BTRFS warning (device loop0): unable to release extent buffer 30474240 owner 2 gen 9 refs 4 flags 0x5
Oct 07 18:52:26 pve2 kernel: BTRFS warning (device loop0): unable to release extent buffer 30490624 owner 7 gen 5 refs 4 flags 0x5
Oct 07 18:52:26 pve2 kernel: BTRFS warning (device loop0): unable to release extent buffer 30507008 owner 10 gen 9 refs 4 flags 0x5
Oct 07 18:52:26 pve2 kernel: BTRFS warning (device loop0): unable to release extent buffer 30523392 owner 18446744073709551607 gen 5 refs 4 flags 0x5
Oct 07 18:52:26 pve2 kernel: BTRFS warning (device loop0): unable to release extent buffer 30588928 owner 1 gen 9 refs 4 flags 0x5
Oct 07 18:52:26 pve2 kernel: BTRFS warning (device loop0): unable to release extent buffer 30605312 owner 4 gen 9 refs 4 flags 0x5
Wenn Du den Bugzilla-Eintrag machen könntest, wäre das sehr nett. :)
 
Super, danke fürs Testen. USB ist also raus, es ist ein reines BTRFS-Thema im Kernel. Mit dem Loop-Device kann das jetzt auch jeder in einer Minute nachstellen. Soll ich den Bug eintragen und den Thread verlinken, oder machst du das selbst? Rein gehören die Kernelversionen (-20 und -22 betroffen) und dein Loop-Device-Log. Weißt du noch, welche Kernelversion zuletzt sauber war? Das kommt vermutlich aus dem Upstream-Kernel. Mal schauen, was die dazu sagen. Wenn da was passiert, schreib ich hier Bescheid.
 
Letzte Kernel-Version ohne Warnungen: 7.0.14-17-pve
Alle nachfolgenden bringen die erwähnten Warnungen.
Mit dem Loop-Device ist das auch wirklich schnell getestet.