Linus Torvalds zahrnul do jádra Linux 7.1, jehož vydání se očekává v polovině června, sadu patchů s novou implementací souborového systému NTFS, vyvíjenou pod názvem ntfsplus. Nový ovladač je zahrnut pod názvem „ntfs“, který byl dříve používán pro odstraněný ovladač jádra, fungující v režimu pouze pro čtení. Ovladač ntfsplus vyvinul Namjae Jeon, účastník projektu Samba, doprovázející ovladač EXFAT a server KSMBD v jádře Linux.
Vývoj ntfsplus začal v roce 2022 po zveřejnění zprávy o problémech s údržbou ovladače NTFS3, vyvinutého společností Paragon Software a dodávaného od jádra 5.15 místo starého opuštěného ovladače NTFS. Od listopadu 2021 do června 2022 se vývojáři ntfs3 přestali ozývat a posuzovat zaslané patche, ale poté obnovili údržbu a zveřejnili soubor oprav, který byl zahrnut do jádra 5.19. Od té doby jsou změny pro nové verze jádra vydávány pravidelně a mezi nimi byl přijat dostatečně velký soubor vylepšení a oprav do jádra 7.0.
Jako motiv pro zařazení nového ovladače ntfsplus do jádra byla uvedena skutečnost, že kvalitnější a udržovaný NTFS ovladač zlepší kompatibilitu systémů Linux s zařízeními Windows a usnadní práci uživatelů. Bylo tvrzeno, že současný ovladač NTFS3 má nevyřešené problémy, kvůli nimž mnozí uživatelé a distribuce stále používají starý ovladač ntfs-3g, fungující v prostoru uživatele. Při testovací sadě xfstests ovladač ntfsplus úspěšně prošel 326 testy (41,4 %) z 787, zatímco ntfs3 prošel 273 (34,6 %).
Ovladač ntfsplus je založen na kódové základně odstraněného klasického ovladače ntfs, který byl přepracován, rozšířen o možnost zápisu dat a značně rozšířen pro podporu moderních schopností, jako je použití stránek paměti (folios) místo struktury buffer_head. V novém ovladači je implementováno odložené přidělování bloků, což umožnilo dosáhnout vysokého výkonu zápisových operací a snížení fragmentace. Pro vyrovnávací operace zápisu/čtení, přímého vstupu/výstupu, mapování rozsahů a operace stránkového zápisu/čtení je využívána knihovna iomap.
Ve srovnání s ntfs3 nový ovladač podporuje možnosti, jako jsou iomap, odložené přidělování bloků (delayed allocation) a mapování identifikátorů uživatelů při připojení (idmap). Po přijetí do hlavního jádra se v ntfsplus plánuje implementace plnohodnotného žurnálování (v ntfs3 je podpora pro vytváření replay žurnálů).
V ntfsplus se také podařilo zvýšit výkon díky použití asynchronních operací iomap, odloženému přidělování bloků, optimalizaci přidělování nových clusterů, optimalizaci slučování fragmentů, na pozadí načítání bitmapy clusterů a přednačítání bloků inode a informací o adresářích. V testech provedených v listopadu loňského roku byl ovladač ntfsplus o 3-5 % rychlejší než ntfs3 při zápisu v jednoproudém režimu a o 35-110 % při použití 4 proudů. Rychlost čtení ntfsplus a ntfs3 je zhruba na stejné úrovni. Při testu na výpis souborů (ls -lR) v adresářích s 100/200/400 tisíci souborů byl ntfsplus rychlejší o 12-14 %. Co se týče rychlosti připojení, je ntfsplus rychlejší 5-6krát (pro 1 TB oddíl 0,38 oproti 2,03 sekundám).
Na základě utilit ntfsprogs z projektu ntfs-3g byl pro ntfsplus připraven vlastní soubor utilit ntfsprogs-plus, fungující v uživatelském prostoru a zahrnující aplikace ntfsclone, ntfscluster a ntfsinfo. Projekt také vyvinul novou utilitu ntfsck pro kontrolu a obnovu poškozených oddílů s NTFS.
Zdroj: opennet.ru
