A Linux 6.19 kernel fejlesztési ciklusába lépve a Btrfs ismét jelentős frissítést kapott. David Sterba pénteki pull requestje szerint a változások elsősorban a kísérleti funkciók megerősítését, a stabilitás növelését és a több éve készülő alrendszerek továbbfejlesztését célozzák. A legnagyobb figyelmet a leállítási műveletet biztosító új ioctl kapja, amely képes a fájlrendszert olyan állapotba helyezni, ahol minden futó művelet azonnal EIO hibával tér vissza, a már folyamatban lévő feladatok pedig lehetőség szerint lezárulnak. Ez a funkció egyelőre csak a kísérleti konfiguráció részeként érhető el, és főként olyan rendszerek számára lehet hasznos, ahol a meghibásodásokhoz vagy vészleállításokhoz biztonságos, kontrollált lezárási folyamat társul. Ezzel párhuzamosan jelentős átdolgozást kapott a blokkméret–oldalméret eltérésének kezelése is.
Tartalomjegyzék

Megújuló működés és jobb teljesítmény a fejlesztéseknek köszönhetően
A fájlrendszer működését jelentősen befolyásolja az a változtatás, amelyben a scrub és az eszközcsere folyamatát a rendszer felfüggesztésekor automatikusan megszakítják. Korábban ezek a háttérben futó műveletek megakadályozhatták a rendszer azonnali alvó módba lépését, ami különösen hordozható gépeken jelentett kellemetlenséget. A frissítés után a scrub képes megjegyezni az utolsó állapotát, így a következő indításkor folytatható, míg az eszközcsere újraindítást igényel. Emellett a Btrfs mostantól sysfs-en keresztül zónastatisztikákat is exportál, ami fontos segítséget nyújt a zónázott blokkeszközök állapotának nyomon követéséhez.
A teljesítményre fókuszáló módosítások között kiemelkedik a helyfoglalási jegyek kezelésének optimalizálása, amely több ponton szűkíti a zárolási szakaszokat, és összesítve mintegy tizenöt százalékos javulást mutat a lockstat mérések szerint. A kísérleti mód részeként megjelent a checksumok folyamatkontextusban történő számítása is, amely egyszerűbbé teszi a zárolások szervezését és lehetőséget ad bizonyos háttérszálak eltávolítására. A közvetlen I/O sebességének javulása részben ennek a módosításnak, részben a kriptográfiai alrendszer belső finomításainak köszönhető.
Hibajavítások és kódtisztítások egymás hegyén-hátán a Btrfsben
A sorozat jelentős részét olyan finomhangolások és hibajavítások alkotják, amelyek tovább növelik a fájlrendszer megbízhatóságát és karbantarthatóságát. Javították a nagyobb ellenőrzőösszeg-típusok esetén fellépő memóriafoglalási hibákat, a scrub folyamat mostantól minden körülmények között rögzíti az utolsó előrehaladási pontot, és sok helyen egyszerűsödött a struktúrák kezelése. A patchsorozatban látványos mennyiségű tisztítás található: paraméterek eltávolítása, makrók egységesítése, szemantikai lekerekítések és olyan strukturális átalakítások, amelyek hosszabb távon egy letisztultabb, kevesebb rejtett hibalehetőséget tartalmazó kódbázist eredményeznek. A fejlesztők több ponton készítették elő a jövőbeni fscrypt támogatás alapjait is, miközben az encrypted inode-ok esetén további műveleteket tiltottak le a konzisztencia megőrzése érdekében. A RAID56 útvonalak mélyreható újratervezése különösen nagy terjedelmű módosításokat hozott, és fontos előkészítő lépés a Btrfs továbbfejlesztett redundanciamodellje felé.
