Ďalšia diskusia medzi Linusom Torvaldsom a Kentom Overstreetom, autorom Bcachefs, sa skončila tým, že Linus vyjadril ochotu vyradiť kód Bcachefs z jadra Linux 6.17. Zároveň Linus prijal do jadra 6.16 zmeny v Bcachefs, ktoré sa stali predmetom ďalšieho nespokojnosti s konaním Kenta. Linus napísal:
Myslím, že naše cesty sa rozdelia v okne zlúčenia 6.17.
Veľmi jasne si dal najavo, že nemôžem spochybňovať akékoľvek opravy chýb a musím jednoducho prijímať všetko, čo sa mi predloží.
Úprimne povedané, necítim sa veľmi pohodlne, keď som zapojený do všetkého tohto, a jediné, s čím sa obaja zjavne skutočne zhodneme v diskusii, je, že "sme skončili".
Predchádzajúca korešpondencia s Kentom prebiehala v súkromnej rovine a detaily sú zatiaľ nejasné. Napriek tomu v diskusii o tejto téme Kent napísal, že je možné, že jeho slová v súkromnej korešpondencii boli nesprávne interpretované a on sa domnieva, že BcacheFS by nemal byť vylúčený z jadra. Zároveň je pripravený na ukončenie dodávky Bcachefs v hlavnej zostave jadra Linux a to nezabije projekt, aj keď to bude obrovský problém. V prípade odstránenia Bcachefs bude vývoj pokračovať a tento FS sa bude šíriť vo forme modulu DKMS. Kent tiež poznamenal, že vylúčenie BcacheFS z jadra bude najlepšou voľbou pre jeho a Linusovo pokoj, ale zjavne to nebude najlepšie riešenie pre používateľov a vývojárske spoločenstvo.
Spor medzi Kentom a Linusom sú spôsobené neustálymi porušovaniami pravidiel predkladania zmien a opráv do jadra. Kent sa domnieva, že opravy problémov vo FS by sa mali posúvať bezodkladne a akýmikoľvek možnými spôsobmi. Linus trvá na tom, že funkčné zmeny a veľké opravy sú povolené v počiatočnej fáze vývoja novej vetvy jadra, zatiaľ čo neskoré kandidátske verzie sa zameriavajú iba na opravu chýb. Kent pravidelne porušuje toto pravidlo a posiela rozsiahle zmeny v nevhodnom čase, čo vedie k nespokojnosti Linusa a k novému cyklu sporov. Linus už predtým varoval Kenta o svojich úmysloch odstrániť Bcachefs z hlavného jadra, pretože Kent naďalej hrá len v svojom sandboxe, nepripojuje sa k spolupráci a nechce prijať pravidlá hry komunity vývojárov jadra.
V prípade jadra 6.16 Kent poslal súbor patchov na zahrnutie do aktualizácie RC3, medzi ktorými bol aj patch s implementáciou novej možnosti 'journal_rewind'. Linus napísal, že Kent zabudol, že po uzavretí okna prijímania funkčných zmien nie je povolené pridávať novú funkčnosť do jadra, aj keď súvisí s opravou iných chýb, pretože pridávanie nových schopností v neskorej fáze formovania verzie môže viesť k regresiám. Okrem toho Bcachefs naďalej zostáva experimentálnym FS a okamžité odstránenie chýb v ňom nie je až také kritické.
Kent odpovedal, že hlavný cieľ vývoja je poskytovať používateľom funkčný kód, a preto nemá v úmysle ustupovať v otázkach, ktoré sa týkajú opravy chýb ovplyvňujúcich integritu dát. Na rozdiel od iných subsystémov sa chyby vo FS nevyriešia reštartom a môžu viesť k poškodeniu dát, preto, podľa Kenta, odkladanie ich opravy do ďalšieho okna prijímania zmien nie je prijateľné, aj keď takéto opravy si vyžadujú rozsiahle zmeny.
Pridaná možnosť „journal_rewind“ vrátila zmeny v žurnále na obnovenie FS do skôr nezmeneného stavu. Kent považuje, že táto nová funkcia by mala byť implementovaná okamžite, pretože rieši problém s obnovou FS pre používateľov, ktorí sa stretli s chybou pri odstraňovaní podadresárov a nemajú zálohu. Na začiatku Linus odmietol prijať sadu opráv s touto zmenou do jadra 6.16-RC3, ale po osobnej korešpondencii s Kentom zmenil svoj názor a prijal zmeny do kódovej základne, na ktorej sa vytvára aktualizácia 6.16-RC4.
Zdroj: opennet.ru
