
Questo ennesimo episodio della saga tra Linus Torvalds e Kent Overstreet, autore di Bcachefs, segue una serie di precedenti disaccordi che hanno caratterizzato la loro collaborazione. In passato, ci sono stati scontri riguardo alla gestione delle patch (correzioni) e alla stabilità del file system, con Torvalds che ha spesso espresso riserve sull’approccio di Overstreet. In particolare, durante lo sviluppo del kernel Linux 6.6, Torvalds aveva già manifestato frustrazione per le frequenti modifiche e la mancanza di stabilità di Bcachefs, arrivando a esprimere pubblicamente il suo rammarico per aver incluso il supporto a questo file system. Ora, disaccordi su correzioni in fase avanzata e sul comportamento degli sviluppatori hanno portato Linus Torvalds a rimuovere Bcachefs dalla prossima versione del kernel Linux 6.17.
Cos’è Bcachefs
Bcachefs è un file system avanzato per sistemi operativi basati su GNU/Linux, che utilizza una tecnica chiamata copy-on-write. Questa tecnica, tradotta letteralmente come “copia in scrittura”, è un metodo di gestione dei dati che consiste nel creare una nuova copia dei dati ogni volta che vengono modificati, invece di sovrascriverli direttamente. Questo approccio migliora l’affidabilità e la sicurezza dei dati, poiché riduce il rischio di corruzione e permette di ripristinare versioni precedenti dei file.
Una delle caratteristiche principali di Bcachefs è il supporto alla crittografia, che permette agli utenti di proteggere i propri dati rendendoli illeggibili a chi non possiede la chiave di decrittazione. Inoltre, Bcachefs supporta gli snapshot, ovvero istantanee del sistema che catturano lo stato del file system in un determinato momento. Queste istantanee sono utili per il backup e il ripristino dei dati, poiché permettono di tornare a una versione precedente del file system in caso di errori o perdita di dati.
Bcachefs offre anche funzionalità di compressione dei dati, che permettono di risparmiare spazio su disco riducendo la dimensione dei file senza perdere informazioni. Questo è particolarmente utile per ottimizzare l’uso dello spazio di archiviazione, soprattutto su dispositivi con capacità limitata.
Bcachefs è considerato un rivale moderno di altri file system avanzati come Btrfs (B-tree file system) e ZFS (Zettabyte File System). Btrfs è un file system che utilizza strutture dati ad albero, note come B-tree, per gestire i dati in modo efficiente, offrendo funzionalità simili a quelle di Bcachefs, come la gestione degli snapshot e la compressione. ZFS, d’altra parte, è un file system progettato per gestire grandi quantità di dati, dell’ordine dello zettabyte (1 zettabyte può contenere circa 30 miliardi di film in alta definizione o 60 miliardi di anni di musica ininterrotta), con funzionalità avanzate di integrità dei dati e gestione degli errori.
Bcachefs è stato inizialmente integrato nel kernel Linux, tuttavia, nonostante la sua integrazione, Bcachefs è sempre stato contrassegnato come sperimentale, il che significa che è ancora in fase di sviluppo e potrebbe non essere completamente stabile o adatto per l’uso in ambienti di produzione critici. Gli utenti sono quindi invitati a utilizzarlo con cautela e a contribuire al suo miglioramento segnalando eventuali problemi o bug.
Sviluppi e controversie
Tuttavia, l’integrazione nel kernel Linux 6.7 non è stata priva di ostacoli. Nel tempo, è emerso chiaramente che vi erano problemi di stabilità, con frequenti correzioni di bug e modifiche in conflitto. A un certo punto, Linus Torvalds ha ammesso apertamente di pentirsi di aver mai permesso il supporto per questo file system nel kernel Linux.
Inoltre, i disaccordi in corso tra il principale sviluppatore di Bcachefs, Kent Overstreet, e Linus Torvalds si sono recentemente intensificati. La disputa nasce da un dibattito di lunga data sul ritmo di sviluppo del kernel Linux: Linus Torvalds impone una disciplina rigorosa nel ciclo di rilascio, permettendo solo correzioni minime durante le fasi di candidatura al rilascio.
Il conflitto tra Torvalds e Overstreet
Allo stesso tempo, Kent Overstreet ha presentato modifiche sostanziali (una patch che implementa la nuova funzione “journal_rewind”, che consente di ripristinare l’intero file system a un punto precedente nel tempo) giustificate da urgenti necessità di recupero dati, sebbene queste siano state presentate tardi nel ciclo di sviluppo.
Di conseguenza, Linus Torvalds ha ritirato la patch di Bcachefs prevista per la versione 6.16-rc3, notificando che non sarebbe stata inclusa nella finestra di integrazione della versione 6.17. Ha spiegato che Overstreet aveva reso “molto chiaro” che Linus non poteva nemmeno mettere in discussione le correzioni di bug, portando Linus a tirarsi indietro: “abbiamo finito”:
I have pulled this, but also as per that discussion, I think we’ll be parting ways in the 6.17 merge window. You made it very clear that I can’t even question any bug-fixes and I should just pull anything and everything. Honestly, at that point, I don’t really feel comfortable being involved at all, and the only thing we both seemed to really fundamentally agree on in that discussion was “we’re done”.
Ho ritirato questa patch, ma come da quella discussione, penso che ci separeremo nella finestra di integrazione della versione 6.17. Hai reso molto chiaro che non posso nemmeno mettere in discussione alcuna correzione di bug e che dovrei semplicemente integrare qualsiasi cosa. Onestamente, a quel punto, non mi sento davvero a mio agio nel essere coinvolto, e l’unica cosa su cui siamo sembrati davvero fondamentalmente d’accordo in quella discussione era “abbiamo finito”.
In risposta, Kent Overstreet ha sottolineato il suo impegno nel garantire l’integrità dei dati degli utenti, affermando di non poter rimandare alcune correzioni e di aver bisogno che Linus “si calmi”, senza strumentalizzare le richieste di integrazione (pull request, PR), iniziando la sua risposta con:
Linus, I’m not trying to say you can’t have any say in bcachefs. Not at all. I positively enjoy working with you – when you’re not being a d***, but you can be genuinely impossible sometimes. A lot of times…
Linus, non sto cercando di dire che non puoi avere voce in capitolo su Bcachefs. Affatto. Mi piace positivamente lavorare con te – quando non ti comporti da s***, ma a volte puoi essere davvero impossibile. Molte volte…
E qui, che dire … Linus Torvalds, noto per il suo genio tecnico e per aver creato il kernel Linux, è altrettanto famoso per il suo carattere diretto e a volte aspro, che non esita a manifestarsi in discussioni tecniche accese. Del resto Linus Torvalds non è esattamente noto per il suo tatto quando le regole vengono infrante.
Conseguenze della rimozione di Bcachefs
Come abbiamo visto, le cose possono scaldarsi nella mailing list del kernel linux, e onestamente. Ma in questo caso, anche Overstreet ha oltrepassato il limite di ciò che la maggior parte considererebbe di buon gusto. Quindi, a cosa porta tutto questo?
Con la rimozione di Bcachefs dalla versione 6.17 del kernel Linux, questo file system non beneficerà più dell’integrazione automatica nel ramo principale del kernel Linux. Questa situazione potrebbe influenzare la sua disponibilità e stabilità nelle distribuzioni GNU/Linux più diffuse. Di conseguenza, gli utenti che fanno affidamento su Bcachefs potrebbero dover ricorrere a versioni del file system compilate separatamente, oppure considerare l’adozione di soluzioni alternative. Tuttavia, c’è ancora la possibilità che Bcachefs venga reintegrato, a patto che Kent Overstreet e Linus Torvalds riescano a risolvere le loro divergenze prima dell’apertura della finestra di integrazione per la versione 6.18 del kernel Linux.
Per ulteriori dettagli e per scaricare la nuova versione del kernel Linux, è possibile consultare l’annuncio ufficiale sul sito del kernel Linux.
Fonte: https://lore.kernel.org/all/CAHk-=wi+k8E4kWR8c-nREP0+EA4D+=rz5j0Hdk3N6cWgfE03-Q@mail.gmail.com/
Fonte: https://lore.kernel.org/all/xl2fyyjk4kjcszcgypirhoyflxojzeyxkzoevvxsmo26mklq7i@jw2ou76lh2py/
Fonte: https://www.phoronix.com/news/Bcachefs-One-Week-Later-Merge
Fonte: https://news.itsfoss.com/linux-kernel-bcachefs-drop/
Fonte: https://linuxiac.com/torvalds-drops-bcachefs-from-linux-6-17-amid-maintainer-dispute/
Source: Read More