Při projednávání další várky oprav navržených pro zařazení do jádra 6.11-rc5 autor Bcachefs, Linus Torvalds, uvedl, že začíná litovat, že přijal souborový systém Bcachefs do jádra. Nespokojenost Torvaldse vyplývá z toho, že Kent Overstreet, autor Bcachefs, v klíčové fázi vydání posílá příliš obsáhlé opravy, které sice opravují chyby, ale také pokračují ve vývoji funkcionality, přičemž funkční změny jsou povoleny pouze v počáteční fázi vývoje nové větve a ve fázi rc5 se přijímají pouze jednotlivé drobné opravy, jejichž velikost by neměla překročit 100 řádků kódu.
Odeslaný pro Bcachefs patch, který obsahoval 1309 přidaných řádků a 671 odstraněných řádků ve 39 souborech, kromě oprav chyb zahrnoval dvě významné změny: podporu nové datové struktury pro správu seznamu volných prvků v cache a možnost transformace hash tabulek pro cache. Nová struktura byla přidána k odstranění zbytečných zámků cache a k vyloučení situací, které by mohly vést ke konfliktům zámků při vícetréninkovém zatížení.
Není to poprvé, kdy byly velké opravy pro Bcachefs odeslány po okně pro přijímání změn, a není to poprvé, kdy se místo jednoduchých oprav chyb prosazují těžší funkční doplňky prostřednictvím žádostí o stažení v konečných fázích vývoje nové větve. Linus Torvalds reagoval na zaslaný pull request:
„Dost. Poslední pull request byl také rozsáhlý. Tento pull request je také příliš objemný, dotýká se věcí, které nesouvisí s Bcachefs, a dokonce ani vzdáleně není nějakou regresí. V určitém okamžiku se „oprava něčeho“ prostě promění v vývoj a to je ten okamžik. Nikdo při zdravém rozumu nepoužívá Bcachefs a neočekává od něj stabilitu, takže každý uživatel je oblastí experimentů. Záplaty Bcachefs se staly jakýmsi „velkým vývojem během přípravy na vydání, ne před ním“, do takové míry, že začínám litovat přijetí Bcachefs. Pokud Bcachefs nemůže správně fungovat v souladu s plánem vývoje hlavního (upstream) jádra, možná by nemělo být v hlavním jádru. Toto už přesahuje hranice vtipu.
Kent Overstreet odpověděl, že Bcachefs je rozhodně spolehlivější než Btrfs a pracuje na tom, aby byla ještě stabilnější a spolehlivější než XFS a EXT4, díky zavedení mechanismu celkové integrity dat (end to end data Integrity). Kent také zdůraznil, že navrhované změny se přímo týkají zvýšení spolehlivosti, a pokud chyba v jiných subsystémech jádra může být omezena na selhání a restart, v souborových systémech je cena chyby velmi vysoká a může vést k skrytému poškození dat, které může být odhaleno jen týdny později.
Torvalds namítl, že dosud neexistují velké distribuce Linuxu, které by používaly Bcachefs, a poukázal na to, že je třeba dodržovat pravidla vývoje verzí jádra Linux, protože zde hrozí riziko nových chyb v důsledku takto velkých záplat obsahujících více než 1000 řádků kódu. V současnosti navrhovaná opravení pro Bcachefs nejsou přijata do jádra Linuxu a vývojář Bcachefs zatím nepřipravil aktualizovanou verzi pull requestu, která by se zbavila přidání nové funkčnosti a soustředila se pouze na opravu chyb.
Zdroj: opennet.ru
