A Btrfs a Linux 6.18 kernelben elhozza a lapméretnél nagyobb blokkméret támogatását és jobb párhuzamosságot az olvasás-intenzív terhelésekhez

A Linux 6.18 kernel fejlesztési ciklusában a Btrfs fájlrendszer fejlesztésében elért legfontosabb eredmények a teljesítmény optimalizálásához kapcsolódnak. Az új kernel fejlesztések lehetővé teszik, hogy a fájlrendszer a korábbi tranzakciók commit root struktúráiban keresse az adatellenőrző összegeket, ezáltal mérsékelve a zárolásokból adódó torlódást. A kernelbe beküldött változtatás főként az olyan környezetekben hoz érezhető gyorsulást, ahol az olvasási műveletek dominálnak, míg az írások száma alacsony, és jelentősen lerövidíti a tranzakciók végrehajtásához szükséges időt. Gyakorlati tesztek szerint a szinkronizálás ideje a korábbi percekről mindössze néhány tíz másodpercre csökkent, ami számottevő előrelépés a fájlrendszer skálázhatósága szempontjából.

A Btrfs a Linux 6.18 kernelben elhozza a lapméretnél nagyobb blokkméret támogatását és jobb párhuzamosságot az olvasás-intenzív terhelésekhez

A journal tree hibakezelése és megbízhatóbb ellenőrzések a Btrfs-ben

A fejlesztők jelentős figyelmet fordítottak a belső kódmag tisztítására és a journal tree-hez kapcsolódó hibakezelés fejlesztésére. Új állapotjelölést vezettek be a logok helyreállításánál, amely világosan mutatja, ha a folyamat megszakadt. Ezzel együtt csökkent a szükségtelen memóriafoglalások száma a fa bejárásakor, és egyszerűbbé vált a hibanaplók értelmezése. A tree-checker alrendszer mostantól az INODE_EXTREF elemeket is ellenőrzi, ami a hard linkek kezelését teszi biztonságosabbá. A hibakeresést támogató üzenetek is bővültek, így a rendszergazdák pontosabb információkat kapnak a problémák okairól.

Blokkméret-kezelés és bővülő ellenőrzési lehetőségek

A Btrfs most először tartalmazza a blokkméret és a lapméret eltérő kezelésének kezdeti támogatását. Ez a „block size > page size” képesség hosszú ideje várt fejlesztés, amely azonban egyelőre kísérleti állapotban van. Még hiányzik a közvetlen I/O, a RAID5/6 és bizonyos tömörítési funkciók támogatása, de a kód már felkészíti a fájlrendszert a jövőbeli bővítésekre. A tömörítési munkaterületek kezelésében is változás történt, mostantól fájlrendszerenként elkülönítve működnek, ami hosszabb távon rugalmasabbá teszi a kezelést. Ezzel párhuzamosan számos kisebb kódtisztítás és kódátalakítás zajlott le, a ref_tracker API bevezetése pedig lehetővé teszi a hivatkozások pontosabb követését és a memóriaszivárgások azonosítását.

Gábor a Pingvinbázis alapítója és főszerkesztője, több mint 20 éves tapasztalattal rendelkezik a Linux rendszerek és az Open Source szoftverek területén. Jártas a Python, és a PHP nyelvben, valamint a BASH scriptelésben is.