Kent Overstreet benyújtotta a Bcachefs Linux 6.17 kernelbe szánt pull requestjeit, és a 6.18-ban eltávolítaná a fájlrendszer kísérleti címkéjét

A Linux 6.17-es merge window most megnyílt, és a Bcachefs fájlrendszer vezető fejlesztője, Kent Overstreet benyújtotta a következő kernel verzióhoz tervezett változtatásokat. Azonban mint minden esetben, most is Linus Torvaldsé az utolsó szó.

Kent Overstreet benyújtotta a Bcachefs Linux 6.17 kernelbe szánt pull requestjeit, és a 6.18-ban eltávolítaná a fájlrendszer kísérleti címkéjét

Az egy hónappal ezelőtti konfliktus bizonytalanná tette a fájlrendszer jövőjét a kernelben

Torvalds egy hónappal ezelőtt a Linux kernel levelezőlistán azt írta, hogy a fősodor és a Bcachefs „szétválnak” a 6.17-es verzióban, miután csalódott volt a Bcachefs funkciókódjának rendszeres, merge window utáni benyújtásával kapcsolatban. Torvalds eddig nem pontosította, hogy eltávolítja-e a Bcachefs meghajtót a 6.17-es Linuxból, a „BROKEN” Kconfig opció mögé helyezi, egy újabb „időzítési” ciklust indít el az új Bcachefs kódokkal, vagy hogyan tervezi pontosan a „szétválást” a copy-on-write fájlrendszerrel kapcsolatban.

De most, hogy a merge window megnyílt, Overstreet ma elküldte azokat a változtatásokat, amelyeket szeretne látni a Linux 6.17-es verziójában. A pull request elején megjegyezte, hogy a következő ciklusban (Linux 6.18) szeretné eltávolítani a hosszú ideje tartó „kísérleti” címkét a Bcachefs-ről:

"

„Átnéztem a hibakövetőt és felmértem a felhasználókat, hogy milyen hibák vannak még hátra, és – nem sok maradt.Ezért a kísérleti címke eltűnik a 6.18-ban.”

Fejlesztések és javítások

A Bcachefs Linux 6.17-rc1 kernelbe szánt kiadása számos jelentős hibajavítást és optimalizálást tartalmaz, a hangsúly pedig ezúttal nem új funkciók fejlesztésén, hanem a rendszer stabilitásának és teljesítményének javításán volt. Az egyik legfontosabb teljesítménybeli fejlesztés a fájlok törlésénél fellépő komoly teljesítményprobléma megoldása volt. A hibát az okozta, hogy a kulcs cache-ben törölt kulcsok maradtak, ami túlzott szkennelést eredményezett a fájlok inode-jait érintő kereséseknél.

Továbbá a „io_read_nopromote” számlálókat al-számlálókra bontották, hogy segítsék a gyorsítótárból történő olvasás problémáinak pontos diagnosztizálását. A forgalom nyomon követését mostantól kevésbé agresszív módon végzik, ezzel javítva a promóciós döntések kezelését. Egy másik fontos változás, hogy a fájlrendszer már nem szabályozza a metadadatok írását writeback throttlinggal, valamint a Nocow írások is háttérben újraegyeztethetők.

A helyreállítási folyamatok is jelentős fejlesztésen mentek keresztül: mostantól a visszaállítási eljárások előrehaladási mutatókat jelenítenek meg, és a sérült inode-okat is képesek rekonstruálni, amennyiben azokban tartalom található. A fejlesztők számos új nyomkövetési és hibajavító funkciót is beépítettek, többek között az új btree node tracepointokat, amelyek részletesebb információkat nyújtanak.

A kódbázis is átdolgozásra került: a fejlesztők új osztályokat és erőforráskezelési módszereket vezettek be, például a CLASS() és guard() konverziókat. A BCH_MIN_NR_BUCKETS értékét is megemelték, így a kisebb tárolókapacitású eszközökön is működni fog a bcachefs fájlrendszer.