
Era da aprile che non parlavamo più di Bcachefs, il filesystem che è famoso nel mondo Linux non tanto per le sue funzionalità, quanto per il fatto che ogni sua evoluzione è stata accompagnata da polemiche, discussioni ed interventi che, di tecnico, hanno davvero molto poco.
Questa tecnologia non è mai stata, per così dire, tra le più amate da parte del creatore del Kernel Linux ed ogni discussione che nasceva come tecnica è sempre finita altrove, tra insulti e flame. Il culmine si pensava fosse stato raggiunto in occasione della sospensione dello sviluppatore Kent Overstreet per il ciclo di release 6.13 (“Get your head examined. And get the fuck out of here with this shit.“, le poetiche parole usate dal maintainer), ma in realtà come dicevamo poco sopra anche la recente questione della distinzione tra maiuscole e minuscole aveva finito per diventare un caso.
Eccoci quindi ad una nuova, e forse conclusiva, puntata nella quale Linus Torvalds ha deciso di rimuovere il codice di Bcachefs, che quindi non sarà più presente nel Kernel Linux dalla release 6.17.
La decisione arriva al termine di una serie di tensioni emerse durante il ciclo di sviluppo della release 6.16 (l’attuale versione stabile è la 6.15), culminate nell’invio, da parte di Overstreet, di una nuova funzionalità chiamata journal-rewind, pensata per migliorare il meccanismo di riparazione del filesystem.
Il codice è stato proposto durante la fase di release candidate (RC), un periodo che, secondo le regole non scritte ma consolidate del kernel, dovrebbe essere dedicato esclusivamente alla correzione di bug e non all’introduzione di nuove feature. Linus Torvalds ha criticato apertamente la scelta, ricordando che Bcachefs è ancora da considerarsi sperimentale e che in questi casi è fondamentale mantenere la disciplina sul processo di integrazione.
Anche Theodore Ts’o, storico sviluppatore di ext4, è intervenuto nella discussione sottolineando come modifiche così delicate, che coinvolgono il journaling del filesystem, possano facilmente introdurre regressioni. Ha inoltre ribadito l’importanza di rispettare le tempistiche previste dalla merge window, la finestra durante la quale è ammessa l’aggiunta di nuove funzionalità.
La palla è tornata a Overstreet che ha difeso la sua scelta sostenendo che, quando è in gioco l’integrità dei dati degli utenti, dovrebbe esserci maggiore flessibilità. Ha citato casi precedenti (XFS, Btrfs) in cui patch significative sono state accolte anche in fase RC, e ha infine riproposto la modifica.
Torvalds ha inizialmente accettato la nuova sottomissione, per poi decidere di rimuovere completamente Bcachefs durante la fase di merge della versione 6.17, ritenendo il modo in cui era stato gestito il tutto poco in linea con il processo di sviluppo del kernel:
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.
Ho effettuato il pull, ma per via di quella discussione penso che ci separeremo nella merge window della release 6.17.
Hai reso molto chiaro il fatto che non posso permettermi di mettere in discussione correzioni a bug, dovendo unicamente fare pull della qualunque.
Overstreet ha chiarito di non voler escludere Linus dalle decisioni riguardanti Bcachefs, sottolineando anzi quanto ne apprezzi il giudizio.
Risultato? Al momento, Bcachefs non fa più parte del kernel Linux ufficiale.
Ultima puntata? Sicuramente no!
Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.
Lascia un commento