Linux 7.3 corrige les ID de système de fichiers Btrfs et le démarrage grub2
Un changement Btrfs dans Linux 7.2-rc1 a rendu les ID de système de fichiers instables et cassé la dérivation de clé d'OpenConnect. Le correctif touche 10 fichiers.
3 min de lecture

En chiffres
- 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 a intégré une série de correctifs Btrfs dans le noyau Linux 7.3. Deux d'entre eux annulent des changements qui avaient cassé des machines en service. L'un rendait instable l'identifiant que Btrfs déclare à son propre sujet. L'autre empêchait certains ordinateurs de terminer leur démarrage.
Btrfs est un système de fichiers intégré à Linux. C'est le choix par défaut sur Fedora et sur openSUSE. Une régression à cet endroit atteint donc des ordinateurs de bureau ordinaires, et pas seulement des serveurs. La demande d'intégration vient du mainteneur de Btrfs, David Sterba, et porte l'étiquette for-7.3-rc3-tag. Phoronix indique que les correctifs arrivent dans la version candidate 7.3-rc4.
Pourquoi l'ID de système de fichiers a cessé d'être stable
Tout système de fichiers monté déclare un FSID, abréviation d'identifiant de système de fichiers. Les programmes le lisent pour distinguer un système de fichiers d'un autre. La demande d'intégration de Sterba décrit le premier problème comme "filesystem id stability on default configurations".
Phoronix rapporte que la régression est arrivée dans Linux 7.2-rc1. À partir de là, l'ID déclaré par Btrfs sur une installation par défaut pouvait changer. Les logiciels qui avaient enregistré l'ancienne valeur en lisaient ensuite une autre.
La demande d'intégration nomme directement la victime : "openconnect key derivation". OpenConnect est un client libre pour les VPN d'entreprise, et NetworkManager en fournit la prise en charge. Phoronix relie la panne à cette prise en charge VPN. Quand une clé est dérivée en partie d'une valeur qui change soudainement, la clé ne correspond plus.
Pourquoi certaines machines ne démarraient plus
Le second correctif rétablit la "/dev/root detection for initramfs-less boot systems with grub2", selon les termes de Sterba.
Un initramfs est un petit système de fichiers temporaire. Le noyau le charge tôt au démarrage et s'en sert pour trouver le vrai système de fichiers racine. La plupart des distributions en fournissent un. Certaines installations s'en passent pour démarrer plus vite ou garder une configuration simple.
Sans initramfs, le noyau doit déterminer seul quel périphérique porte la racine. Phoronix rapporte que cette détection échouait sur les systèmes de fichiers racine Btrfs démarrés par GRUB2. Une machine qui ne peut pas identifier son système de fichiers racine ne finit pas de démarrer.
Ce que contient le reste de la demande d'intégration
La fusion modifie 10 fichiers, ajoute 96 lignes et en retire 13. Le message de Sterba décrit le reste comme des correctifs ordinaires. Ils figurent ci-dessous, avec une note en langage simple sur le domaine touché.
| Domaine cité dans la demande | Ce que fait cette partie de Btrfs |
|---|---|
| Extents compressés en ligne | Stocke de très petits fichiers compressés dans les métadonnées |
| Activation de zone en mode zoned | Prend en charge les disques qui s'écrivent par zones fixes |
| Validation de l'espace des chunk items | Vérifie les enregistrements qui cartographient les chunks de stockage |
| Suppression des items verity | Nettoie les données fs-verity, qui vérifient le contenu des fichiers |
| Reconstruction de l'arbre d'espace libre | Gère les erreurs pendant la reconstruction de la carte d'espace libre |
| Reflink et perforation de trous | Copie des blocs par référence et libère des plages dans les fichiers |
| Parcours des groupes de blocs | Protège le parcours des groupes de blocs alloués |
| Messages d'erreur | Corrige la formulation des messages du journal noyau |
Parmi les fichiers modifiés figurent super.c, volumes.c, disk-io.c, inode.c, tree-checker.c, zoned.c et verity.c.
Ce que cela signifie pour les développeurs
Traitez un FSID comme une valeur qui peut changer. Si votre code en enregistre un et compte le retrouver après une mise à jour du noyau, cette hypothèse vient d'échouer en production chez des utilisateurs de VPN. Relisez l'identifiant à chaque fois. Prévoyez un chemin pour le cas où il diffère de celui que vous aviez gardé.
Si vous administrez des machines avec une racine Btrfs et sans initramfs sous GRUB2, n'y déployez pas Linux 7.2. Attendez un noyau 7.3 qui porte cette demande d'intégration, ou gardez un initramfs comme solution de repli. Ubuntu 26.10 livre un noyau Linux 7.3 en préversion. Vérifiez donc quelle version candidate contient votre image avant de lui faire confiance.
Le premier bogue porte une leçon plus large. Toute valeur que l'espace utilisateur peut lire est une interface, même si aucun document ne le dit. Un changement du noyau qui déplace une telle valeur casse des logiciels que personne n'a pensé à tester.
Sources
Articles liés

Linux 7.4 retire BFS, le système de fichiers d'amorçage d'UnixWare
Un patch qui supprime 1 275 lignes de code BFS est en attente pour Linux 7.4, un cycle après le retrait d'EFS et de FreeVxFS pour la même raison.

Linux 7.3-rc4 arrive avec des correctifs trouvés par des LLM
Linux 7.3-rc4 est sorti le 20 septembre 2026, ses correctifs répartis en tiers entre pilotes, systèmes de fichiers et architecture. Torvalds cite les LLM.

Un correctif Linux 7.4 ouvre les fichiers 39% plus vite
Un correctif de 43 lignes pour Linux 7.4 supprime deux références dentry inutiles à l'ouverture d'un fichier et gagne 39% sur un test à 20 cœurs.