Linux 7.3 repariert Btrfs-Dateisystem-IDs und grub2-Start
Eine Btrfs-Änderung in Linux 7.2-rc1 machte Dateisystem-IDs instabil und brach die Schlüsselableitung von OpenConnect. Der Fix berührt 10 Dateien.
3 Min. Lesezeit

Die Zahlen
- Btrfs files changed in the merged pull
- 10
- lines added, against 13 removed
- 96
- kernel where the ID regression appeared
- 7.2-rc1
Linus Torvalds hat eine Reihe von Btrfs-Fixes in den Linux-7.3-Kernel aufgenommen. Zwei davon machen Änderungen rückgängig, die laufende Rechner beschädigt haben. Eine machte die Kennung instabil, die Btrfs über sich selbst meldet. Die andere hinderte manche Rechner daran, ihren Start zu beenden.
Btrfs ist ein Dateisystem, das fest in Linux eingebaut ist. Es ist die Standardwahl bei Fedora und bei openSUSE. Eine Regression darin erreicht also gewöhnliche Desktops und nicht nur Server. Der Pull Request kam von Btrfs-Maintainer David Sterba und trägt das Tag for-7.3-rc3-tag. Phoronix berichtet, dass die Fixes im Release Candidate 7.3-rc4 landen.
Warum die Dateisystem-ID nicht mehr stabil war
Jedes eingehängte Dateisystem meldet eine FSID, kurz für Dateisystem-Kennung. Programme lesen sie, um ein Dateisystem von einem anderen zu unterscheiden. Sterbas Pull Request nennt das erste Problem "filesystem id stability on default configurations".
Phoronix berichtet, dass die Regression in Linux 7.2-rc1 ankam. Von da an konnte sich die ID ändern, die Btrfs bei einer Standardeinrichtung meldete. Software, die den früheren Wert gespeichert hatte, las danach einen anderen.
Der Pull Request benennt das Opfer direkt: "openconnect key derivation". OpenConnect ist ein quelloffener Client für Firmen-VPNs, und NetworkManager liefert die Unterstützung dafür mit. Phoronix führt den Ausfall auf diese VPN-Unterstützung zurück. Wenn ein Schlüssel zum Teil aus einem Wert abgeleitet wird, der sich plötzlich ändert, passt der Schlüssel nicht mehr.
Warum manche Rechner nicht mehr starteten
Der zweite Fix stellt die "/dev/root detection for initramfs-less boot systems with grub2" wieder her, wie Sterba es formuliert.
Eine initramfs ist ein kleines, vorübergehendes Dateisystem. Der Kernel lädt es früh im Start und findet damit das echte Wurzeldateisystem. Die meisten Distributionen liefern eine mit. Manche Aufbauten verzichten darauf, um schneller zu starten oder die Konfiguration schlank zu halten.
Ohne initramfs muss der Kernel selbst herausfinden, welches Gerät die Wurzel trägt. Phoronix berichtet, dass diese Erkennung bei Btrfs-Wurzeldateisystemen unter GRUB2 fehlschlug. Ein Rechner, der sein Wurzeldateisystem nicht bestimmen kann, beendet den Start nicht.
Was sonst noch im Pull steckt
Der Merge ändert 10 Dateien, fügt 96 Zeilen hinzu und entfernt 13. Sterbas Nachricht beschreibt den Rest als gewöhnliche Fixes. Sie stehen unten, jeweils mit einer einfachen Notiz zum betroffenen Bereich.
| Im Pull genannter Bereich | Was dieser Teil von Btrfs tut |
|---|---|
| Komprimierte Inline-Extents | Speichert sehr kleine Dateien komprimiert in den Metadaten |
| Zone-Aktivierung im Zoned Mode | Unterstützt Laufwerke, die in festen Zonen beschrieben werden |
| Prüfung des Chunk-Item-Platzes | Prüft die Einträge, die Speicher-Chunks abbilden |
| Entfernen von Verity-Items | Räumt fs-verity-Daten auf, die Dateiinhalte prüfen |
| Neuaufbau des Free-Space-Trees | Behandelt Fehler beim Neuaufbau der Freiraum-Karte |
| Reflink und Hole Punching | Kopiert Blöcke per Verweis und gibt Bereiche in Dateien frei |
| Iteration über Block-Gruppen | Sichert den Durchlauf über Gruppen belegter Blöcke ab |
| Fehlermeldungen | Korrigiert Formulierungen in der Kernel-Log-Ausgabe |
Zu den geänderten Dateien gehören super.c, volumes.c, disk-io.c, inode.c, tree-checker.c, zoned.c und verity.c.
Was das für Entwickler bedeutet
Behandeln Sie eine FSID als Wert, der sich ändern kann. Wenn Ihr Code eine speichert und erwartet, dass sie ein Kernel-Update übersteht, ist diese Annahme gerade bei VPN-Nutzern im Produktivbetrieb gescheitert. Lesen Sie die Kennung frisch aus. Halten Sie einen Weg bereit für den Fall, dass sie von der gespeicherten abweicht.
Wenn Sie Rechner mit Btrfs-Wurzel und ohne initramfs unter GRUB2 betreuen, spielen Sie Linux 7.2 dort nicht aus. Warten Sie auf einen 7.3-Kernel, der diesen Pull enthält, oder behalten Sie eine initramfs als Rückfallebene. Ubuntu 26.10 liefert einen Linux-7.3-Vorabkernel aus. Prüfen Sie daher, welchen Release Candidate Ihr Abbild enthält, bevor Sie ihm vertrauen.
Im ersten Fehler steckt eine größere Lehre. Jeder Wert, den der User Space lesen kann, ist eine Schnittstelle, auch wenn kein Dokument das sagt. Eine Kernel-Änderung, die einen solchen Wert verschiebt, beschädigt Software, an deren Test niemand gedacht hat.
Quellen
Ähnliche Artikel

Linux 7.4 entfernt BFS, das Boot-Dateisystem von UnixWare
Ein Patch, der 1.275 Zeilen BFS-Code löscht, steht für Linux 7.4 bereit - einen Kernel-Zyklus nach EFS und FreeVxFS, die aus demselben Grund flogen.

Linux 7.3-rc4 bringt von LLMs gefundene Fehlerpfad-Fixes
Linux 7.3-rc4 erschien am 20. September 2026, die Korrekturen zu je einem Drittel in Treibern, Dateisystemen und Architekturcode. Torvalds lobt LLMs.

Linux-7.4-Patch öffnet Dateien im Test 39% schneller
Ein 43-zeiliger Patch für Linux 7.4 entfernt zwei überflüssige Dentry-Referenzen beim Öffnen einer Datei und hebt einen 20-Kern-Benchmark um 39%.