În urma discuției despre un nou set de corecții propuse pentru a fi incluse în nucleul 6.11-rc5 de către autorul Bcachefs, Linus Torvalds a menționat că începe să regretă că a acceptat sistemul de fișiere Bcachefs în nucleu. Nemulțumirea lui Torvalds provine din faptul că Kent Overstreet, autorul Bcachefs, trimite corecții prea voluminoase în stadiul de candidați finali pentru lansare, care nu doar corectează erori, ci continuă și dezvoltarea funcționalității. Modificările funcționale sunt permise doar în prima fază a dezvoltării unei noi ramuri, iar în stadiul rc5 sunt acceptate doar corecții mici, ale căror dimensiuni nu ar trebui să depășească 100 de linii de cod.
Patch-ul trimis pentru Bcachefs, care a adăugat 1309 linii și a eliminat 671 de linii în 39 de fișiere, pe lângă corectarea erorilor, a inclus două modificări semnificative: suportul pentru o nouă structură de date pentru gestionarea listei de elemente libere în cache și capacitatea de a transforma tabelele hash pentru cache. Noua structură a fost adăugată pentru a elimina blocările inutile ale cache-ului și pentru a preveni situațiile care pot duce la conflicte de blocare în condiții de încărcare pe mai multe fir.
Nu este primul caz când corecții mari pentru Bcachefs sunt trimise după fereastra de acceptare a modificărilor și nu este primul caz în care, în loc de simple corecturi de erori, se avansează adăugiri funcționale mai complexe, propuse prin cereri de modificare în etapele finale de dezvoltare ale unei noi ramuri. Linus Torvalds a răspuns la pull request-ul trimis:
„Este suficient. Ultimul pull request a fost de asemenea foarte mare. Acest pull request este, de asemenea, prea voluminos, atingând lucruri care nu sunt legate de Bcachefs și nu constituie o regresie, nici măcar îndepărtat. La un moment dat, „corectarea ceva” devine pur și simplu dezvoltare și acesta este acel moment. Nimeni cu mintea întreagă nu folosește Bcachefs și nu se așteaptă la stabilitate de la acesta, așa că fiecare utilizator este o zonă de experimentare. Patch-urile Bcachefs au devenit un fel de „dezvoltare mare în timpul ciclului de pregătire a lansării, nu înainte de aceasta”, atât de mult încât încep să regret acceptarea Bcachefs. Dacă Bcachefs nu poate funcționa corect conform programului de dezvoltare al nucleului principal, poate că nu ar trebui să fie în nucleul principal. Aceasta depășește deja limita absurdului.”
Kent Overstreet a răspuns că Bcachefs este cu siguranță mai fiabil decât Btrfs și lucrează pentru a o face mai rezistentă și mai sigură decât XFS și EXT4, grație implementării mecanismului de integritate a datelor de la capăt la capăt. Kent a subliniat, de asemenea, că modificările propuse vizează direct îmbunătățirea fiabilității și că, dacă o eroare în alte subsisteme ale nucleului poate fi limitată la o cădere și o repornire, în sistemele de fișiere prețul erorii este foarte mare și poate duce la deteriorarea ocultă a datelor, care poate fi observată doar săptămâni mai târziu.
Torvalds a subliniat că nu există până acum distribuții mari de Linux care să folosească Bcachefs și a menționat că ar trebui respectate regulile de dezvoltare ale lansărilor nucleului Linux, având în vedere că există o probabilitate de apariție a unor erori noi din cauza unor patch-uri mari care conțin mai mult de 1000 de linii de cod. În prezent, corecțiile discutate pentru Bcachefs nu sunt acceptate în nucleul Linux, iar dezvoltatorul Bcachefs nu a pregătit încă o variantă actualizată a pull request-ului, fără adăugarea de noi funcționalități și concentrându-se doar pe corectarea erorilor.
Sursa: opennet.ro
