Linus Torvalds caccia Bcachefs dal kernel Linux: ormai è finita

Nel cuore del kernel Linux si profila un cambiamento potenzialmente storico: Linus Torvalds ha dichiarato che il file system Bcachefs, integrato solo da gennaio 2024, potrebbe essere rimosso a partire dalla versione 6.17. Le motivazioni alla base della rottura.
Linus Torvalds caccia Bcachefs dal kernel Linux: ormai è finita

In seno al kernel Linux si sta consumando un nuovo episodio potenzialmente storico: Linus Torvalds ha annunciato che Bcachefs potrebbe essere rimosso dal kernel Linux già a partire dalla versione 6.17. Il file system, frutto di oltre un decennio di sviluppo da parte di Kent Overstreet, era stato finalmente integrato nella mainline del kernel con la release 6.7 a gennaio 2024. Ma ora, la sua permanenza è in serio dubbio.

La gestione delle merge window e la filosofia del kernel

Come abbiamo spesso raccontato, il kernel Linux adotta un modello di sviluppo ciclico e ben rodato. Dopo ogni rilascio stabile, si apre una merge window di due settimane durante la quale gli sviluppatori possono proporre nuove funzionalità. Da lì in poi, inizia la fase RC (release candidate), dedicata esclusivamente alle correzioni di bug.

Nella release 6.16-rc4, Overstreet ha però inviato una pull request contenente nuove funzionalità, un gesto in aperta violazione della filosofia di congelamento del codice a valle di una merge window. Torvalds, che ha comunque accettato temporaneamente la modifica, ha accompagnato il merge con un messaggio perentorio:

Ho accettato questa pull request, ma in base a quanto discusso, penso che ci separeremo a partire dalla merge window della release 6.17. Hai reso molto chiaro che non posso nemmeno mettere in discussione le correzioni di bug e che dovrei semplicemente accettare tutto e qualsiasi cosa mi venga proposto.

L’inventore del kernel Linux, da tempo ai ferri corri con Overstreet, ammette di non tollerare più i comportamenti già rilevati in passato. È quindi rottura totale, tanto che a suo dire Overstreet pretende di inviare codice senza accettare critiche, discussioni o revisione. Ciò va contro la cultura collaborativa e di revisione alla base del kernel Linux.

Torvalds chiude con una frase chiarissima:

Sinceramente, a questo punto, non mi sento affatto a mio agio nel continuare a essere coinvolto, e l’unica cosa su cui sembrava che fossimo davvero d’accordo è: “abbiamo chiuso”.

Il “re pinguino” sente che il rapporto con lo sviluppatore principale del progetto Bcachefs è ormai irrecuperabile e non vuole più essere coinvolto nello sviluppo o nella gestione del codice di Overstreet, perché la comunicazione è diventata “tossica e irrispettosa”.

Il carattere degli sviluppatori come fattore critico e la sorta incerta di Bcachefs

Overstreet non è nuovo a contrasti con la comunità: già a novembre 2024 era stato escluso dal ciclo di sviluppo del kernel 6.13. La sua insistenza nel difendere le proprie scelte tecniche, spesso con toni perentori, ha alimentato uno scontro personale con Torvalds che ora rischia di mettere in pericolo la sopravvivenza del progetto all’interno del kernel Linux.

Il promotore di Bcachefs ha difeso la sua posizione sostenendo che, quando sono in gioco la sicurezza e l’integrità dei dati degli utenti, le regole tenute nella comunità del kernel dovrebbero essere più flessibili. Ha anche citato casi in cui altri file system (come XFS e Btrfs) hanno ricevuto patch simili durante la fase RC. Tuttavia, questa posizione non è stata accolta da Torvalds, che ha giudicato il comportamento di Overstreet fuori dalle righe e poco collaborativo.

Se l’esclusione venisse confermata nella versione 6.17, il progetto Bcachefs non sarebbe cancellato ma diventerebbe un modulo esterno non incluso nella distribuzione standard del kernel.

L’utilizzo richiederebbe build personalizzate o meccanismi alternativi come:

  • FUSE (File system in Userspace): soluzione compatibile ma con penalizzazioni prestazionali;
  • DKMS (Dynamic Kernel Module Support): sistema che consente la ricompilazione automatica dei moduli ad ogni aggiornamento kernel;
  • Distribuzioni customizzate: mantenute da terze parti, con kernel modificati ad hoc.

Cosa rischia la comunità Linux

Bcachefs rappresenta una delle più ambiziose evoluzioni in ambito file system per Linux, integrando caratteristiche avanzate di CoW (Copy-on-Write), checksumming, compressione e supporto nativo per RAID, in modo simile a ZFS e Btrfs ma con un design orientato alla massima efficienza.

La sua esclusione rappresenterebbe un’occasione mancata per consolidare un file system moderno e robusto nel cuore del sistema Linux.

Allo stesso tempo, il caso rivela i limiti strutturali di un ecosistema guidato ancora in modo fortemente centralizzato, dove le tensioni personali possono compromettere il destino di interi sottosistemi, nonostante l’apertura teorica del modello open source.

I principali vantaggi di Bcachefs

Non esistono quindi solo i file system più noti: ve ne sono altri che si stagliano all’orizzonte come soluzioni in grado di gestire aspetti non completamente abbracciati dalle alternative già disponibili.

Bcachefs è un file system moderno per Linux che offre numerosi vantaggi, rendendolo particolarmente interessante soprattutto per ambienti enterprise e per chi necessita di elevate prestazioni e affidabilità. I principali vantaggi di Bcachefs sono:

  • Copy-on-write (CoW): come ZFS e Btrfs, Bcachefs utilizza questa tecnica per garantire integrità e sicurezza dei dati, evitando sovrascritture dirette e facilitando snapshot e rollback.
  • Caching trasparente dei dati: originariamente derivato dal progetto Bcache, Bcachefs gestisce efficientemente la cache tra dispositivi lenti (HDD) e veloci (SSD), migliorando notevolmente le prestazioni di I/O.
  • Compressione nativa: supporta algoritmi come LZ4, gzip e Zstandard, riducendo lo spazio su disco senza penalizzare troppo le prestazioni.
  • Crittografia integrata: utilizza algoritmi moderni come ChaCha20 e Poly1305 per proteggere i dati a riposo, garantendo sicurezza senza dover ricorrere a soluzioni esterne.
  • Snapshot e replica: consente di creare istantanee consistenti del file system e supporta la replica dei dati, funzionalità essenziali per backup e alta disponibilità.
  • Gestione efficiente dei metadati e struttura dati avanzata: usa B-tree con nodi grandi e una struttura ibrida che riduce la necessità di riscritture frequenti, migliorando le prestazioni e la scalabilità.
  • Supporto multi-dispositivo e RAID senza “write hole”: può estendersi su più dispositivi con configurazioni RAID robuste, evitando problemi comuni di corruzione dati durante scritture parziali.
  • Elevate prestazioni e bassa latenza: Bcachefs si avvicina alle prestazioni di ext4 e XFS, superando altri file system CoW come Btrfs, con throughput elevato e latenza ridotta, ideale per carichi di lavoro intensivi e file di grandi dimensioni.
  • Scalabilità: testato su volumi superiori a 100 TB, è progettato per crescere ulteriormente, rendendolo adatto a data center e applicazioni di storage su larga scala.
  • Funzionalità avanzate: supporta anche attributi estesi, ACL, quote, modalità nocow (per operazioni particolari), reflink e altre caratteristiche moderne.

Bcachefs combina insomma la robustezza e le funzionalità avanzate di file system come ZFS e Btrfs con prestazioni elevate e gestione efficiente di storage multi-dispositivo, risultando particolarmente vantaggioso per ambienti che richiedono affidabilità, sicurezza e scalabilità elevate.

L’immagine in apertura è generata con un modello AI e non riflette accadimenti realmente avvenuti.

Ti consigliamo anche

Link copiato negli appunti