Lors de la discussion sur un nouvel ensemble de corrections proposées pour inclusion dans le noyau 6.11-rc5 par l'auteur de Bcachefs, Linus Torvalds a exprimé qu'il commençait à regretter d'avoir intégré le système de fichiers Bcachefs dans le noyau. Le mécontentement de Torvalds découle du fait que Kent Overstreet, l'auteur de Bcachefs, envoie des corrections trop volumineuses à la phase des candidats finaux au lancement, qui non seulement corrigent des bogues, mais continuent également à développer des fonctionnalités, alors que les changements fonctionnels ne devraient être apportés qu'au début du développement d'une nouvelle branche, et que seule de petites corrections individuelles, dont la taille ne devrait pas dépasser 100 lignes de code, sont acceptées à cette étape rc5.
Le patch envoyé pour Bcachefs, qui a ajouté 1309 lignes et supprimé 671 lignes dans 39 fichiers, incluait en plus des corrections de bogues deux modifications significatives : le support d'une nouvelle structure de données pour gérer la liste des éléments libres dans le cache et la possibilité de convertir des tables de hachage pour le cache. La nouvelle structure a été ajoutée pour éliminer les verrous de cache superflus et éviter les situations pouvant conduire à des conflits de verrouillage sous des charges multi-thread.
Ce n'est pas la première fois que de grandes corrections pour Bcachefs sont envoyées après la fenêtre d'acceptation des modifications, et ce n'est pas la première fois que des ajouts fonctionnels plus lourds, plutôt que de simples corrections de bogues, sont promus via des demandes de tirage aux stades finaux du développement d'une nouvelle branche. Linus Torvalds a répondu à la demande de tirage envoyée :
«Assez. La dernière demande de tir était également importante. Cette demande de tir est aussi trop volumineuse, touchant des éléments non liés à Bcachefs, et n'est même pas une régression à proprement parler. À un moment donné, «corriger quelque chose» se transforme tout simplement en développement, et c'est ce moment précis. Personne en pleine possession de ses moyens n'utilise Bcachefs et ne s'attend à sa stabilité, donc chaque utilisateur est un domaine d'expérimentation. Les correctifs Bcachefs sont devenus une sorte de «grand développement pendant le cycle de préparation de la version, et non avant», à tel point que je commence à regretter l'adoption de Bcachefs. Si Bcachefs ne peut pas fonctionner correctement selon le calendrier de développement du noyau principal (upstream), alors peut-être ne devrait-il pas faire partie du noyau principal. C'est déjà au-delà du ridicule.»
Kent Overstreet a répondu que Bcachefs est définitivement plus fiable que Btrfs et qu'il travaille à la rendre plus résiliente et fiable que XFS et EXT4, grâce à l'implémentation d'un mécanisme d'intégrité des données de bout en bout (end to end data Integrity). Kent a également souligné que les modifications proposées concernent directement l'amélioration de la fiabilité, et si une erreur dans d'autres sous-systèmes du noyau peut éventuellement se limiter à un échec et à un redémarrage, dans les systèmes de fichiers, le coût de l'erreur est très élevé et peut conduire à des dommages cachés aux données, qui ne peuvent être remarqués que des semaines plus tard.
Torvalds a rétorqué qu'il n'existe toujours pas de grandes distributions Linux utilisant Bcachefs, et a souligné qu'il convient de respecter les règles de développement des versions du noyau Linux, car il y a un risque d'apparition de nouveaux bugs en raison de tels grands correctifs contenant plus de 1000 lignes de code. Actuellement, les corrections discutées pour Bcachefs ne sont pas acceptées dans le noyau Linux, et le développeur de Bcachefs n'a pas encore préparé une version mise à jour de la demande de tir, débarrassée de l'ajout de nouvelles fonctionnalités et se concentrant uniquement sur la correction des bugs.
Source : opennet.ru
