A Linux 6.17 kernel fejlesztési ciklusa során mindössze két commit érkezett az exFAT fájlrendszerhez, ám ezek hatása messze túlmutat mennyiségükön. Az első javítás egy, a korábbi verziókban bevezetett teljesítménycsökkenést orvosol, amely az fdatasync zászló hibás kezeléséből fakadt. Az exfat_file_write_iter() függvény a szinkronizáció során nem használta megfelelően az fdatasync módot, így a rendszer nem biztosította az írások kellő időzítését, ami jelentősen rontotta a véletlenszerű írási műveletek sebességét. Zhengxu Zhang, a javítás szerzője, egy 64 GB-os SD-kártyán végzett mérés során dokumentálta, hogy a teljesítmény 3,5 MB/s-ról 7 MB/s-ra ugrott vissza a megfelelő generic_write_sync() függvényre való átállással. A probléma forrása a vfs_fsync_range() korábbi használata volt, amely nem kezelte jól az fdatasync viselkedését, különösen az iocb->ki_flags értelmezését illetően.
Tartalomjegyzék

Megszakadó végtelen hurkok: robusztusabb hibatűrés
A második javítás az exFAT fájlrendszer belső klaszterlánc-kezelését teszi megbízhatóbbá, különösen akkor, ha fájlrendszer-sérülés lép fel. Yuezhang Mo módosítása új ellenőrzéseket vezet be, amelyek megakadályozzák, hogy a kernel végtelen ciklusba fusson, ha a fájlrendszer klaszterlánca hurkot tartalmaz, és nincsenek érvényes vagy használaton kívüli bejegyzések. Az ilyen hurkok akár a root könyvtár upcase vagy bitmap bejegyzéseinek keresésekor is aktiválódhatnak, ami korábban újraindítást igénylő rendszerösszeomláshoz vezethetett. Az új logika klaszterenkénti számlálást vezet be, és ha az érték meghaladja a fájlrendszer által megengedett maximumot, a folyamat biztonságosan megszakad. Ez a fejlesztés különösen fontos az exFAT fájlrendszert használó cserélhető eszközök – például SD-kártyák – esetében, amelyek hajlamosabbak az adatvesztésre.
Visszaportolás a stabil ágra
Mindkét változtatás bekerült a Linux 6.17 kernel fő fejlesztői ágába Linus Torvalds jóváhagyásával, és várhatóan vissza is kerülnek a korábbi stabil kernelverziókba. Bár csak két commitról van szó, azok jelentősége nem kérdéses: az egyik közvetlenül duplázza meg az írási teljesítményt bizonyos környezetekben, a másik pedig megelőzi a fájlrendszersérülésből eredő komolyabb rendszerhibákat. A Linux exFAT implementációja ezzel a frissítéssel még egy lépéssel közelebb került ahhoz, hogy megbízható és hatékony alternatívát nyújtson a hordozható tárolóeszközökön.
