Terwijl hij de volgende reeks reparaties besprak die door de auteur van Bcachefs waren voorgesteld voor opname in de 6.11-rc5-kernel, schreef Linus Torvalds dat hij er spijt van begon te krijgen dat hij het Bcachefs-bestandssysteem in de kernel had geaccepteerd. De ontevredenheid van Torvalds is te wijten aan het feit dat Kent Overstreet, de auteur van Bcachefs, in de fase van de definitieve releasekandidaten te omvangrijke oplossingen stuurt, die in feite niet alleen fouten corrigeren, maar ook de functionaliteit blijven ontwikkelen, ondanks het feit dat functionele veranderingen alleen zijn toegestaan in de beginfase van de ontwikkeling van een nieuwe vertakking, en in de rc5-fase worden alleen individuele kleine oplossingen geaccepteerd, waarvan de grootte bij voorkeur niet groter mag zijn dan 100 regels code.
De patch voor Bcachefs, die 1309 regels toevoegde en 671 regels verwijderde in 39 bestanden, bevatte naast bugfixes twee belangrijke veranderingen: ondersteuning voor een nieuwe datastructuur voor het beheren van de lijst met vrije elementen in de cache en de mogelijkheid om hash te transformeren tabellen voor de cache. Er is een nieuwe structuur toegevoegd om onnodige cache-locks te elimineren en situaties te vermijden die zouden kunnen leiden tot lock-conflicten in multi-threaded workloads.
Dit is niet de eerste keer dat grote reparaties voor Bcachefs worden gepusht na het push-venster, en het is ook niet de eerste keer dat eenvoudige bugfixes worden gepusht ten gunste van zwaardere feature-toevoegingen die zijn gemaakt via push-verzoeken in de laatste fase van de installatie van een nieuwe branch. ontwikkeling. Linus Torvalds reageerde op het verzonden pull-verzoek:
"Genoeg. Het laatste pull-verzoek was ook groot. Dit pull-verzoek is ook te omvangrijk, beïnvloedt zaken die geen verband houden met Bcachefs, en is zelfs in de verste verte niet een soort regressie. Op een gegeven moment wordt ‘iets repareren’ simpelweg ontwikkeling, en dit is dat punt. Niemand met een gezond verstand gebruikt Bcachefs of verwacht dat het stabiel is, dus het is een experimenteergebied voor elke gebruiker. Bcachefs-patches zijn een soort "grote ontwikkeling geworden tijdens de releasecyclus, niet ervoor", tot het punt waarop ik spijt begin te krijgen van het adopteren van Bcachefs. Als Bcachefs niet goed kan werken volgens het ontwikkelingsschema van de upstream-kernel, zou het misschien niet in de upstream-kernel moeten zitten. Dit is meer dan belachelijk."
Kent Overstreet antwoordde dat Bcachefs beslist betrouwbaarder is dan Btrfs en hij werkt eraan om het robuuster en betrouwbaarder te maken dan XFS en EXT4 door end-to-end data-integriteit te implementeren. Kent benadrukte ook dat de voorgestelde veranderingen rechtstreeks verband houden met het verbeteren van de betrouwbaarheid, en hoewel een fout in andere kernelsubsystemen beperkt kan blijven tot een crash en opnieuw opstarten, zijn de kosten van een fout in bestandssystemen erg hoog en kunnen ze leiden tot verborgen datacorruptie. wat pas weken later opgemerkt kan worden.
Torvalds wierp daar tegenin dat er nog steeds geen grote distributies zijn. Linux, gebruikmakend van Bcachefs, en erop gewezen dat de richtlijnen voor de ontwikkeling van kernelreleases gevolgd moeten worden. LinuxEr bestaat namelijk een risico op het introduceren van nieuwe bugs door zulke grote patches die meer dan 1000 regels code bevatten. De besproken oplossingen voor Bcachefs zijn momenteel nog niet in de kernel opgenomen. LinuxEn de ontwikkelaar van Bcachefs heeft nog geen bijgewerkte versie van de pull request ingediend, zonder nieuwe functionaliteit toe te voegen en uitsluitend gericht op bugfixes.
Bron: opennet.ru
