Linus Torvalds priėmė branduolį Linux 7.1, релиз которого ожидается в середине июня, набор патчей с новой реализацией файловой системы NTFS, развивавшейся под именем ntfsplus. Новый драйвер включён под именем «ntfs», которое ранее использовалось для удалённого из ядра старого драйвера, работавшего в режиме только для чтения. Драйвер ntfsplus разработал Намджэ Чон (Namjae Jeon), участник проекта Samba, сопровождающий драйвер EXFAT и сервер KSMBD в ядре Linux.
„ntfsplus“ kūrimas prasidėjo 2022 m., paskelbus ataskaitą apie „Paragon Software“ sukurtos ir nuo 5.15 branduolio versijos išleistos NTFS3 tvarkyklės, pakeitusios senesnę, nebenaudojamą NTFS tvarkyklę, priežiūros problemas. Nuo 2021 m. lapkričio iki 2022 m. birželio mėn. „ntfs3“ kūrėjai nustojo bendrauti ir peržiūrėti pateiktas pataisas, bet vėliau atnaujino priežiūrą ir paskelbė pataisymų rinkinį, kuris buvo įtrauktas į 5.19 branduolį. Nuo tada reguliariai buvo leidžiami naujų branduolio versijų pakeitimai, ir, be kita ko, į 7.0 branduolį buvo priimtas gana didelis patobulinimų ir pataisymų rinkinys.
В качестве мотива продвижения в ядро нового драйвера ntfsplus указывалось, что более качественный и сопровождаемый NTFS-драйвер позволит улучшить совместимость Linux-sistemos su Windows-устройствами и упростить работу пользователей. Заявлялось, что в нынешнем драйвере NTFS3 имеются проблемы, остающиеся нерешёнными, из-за которых многие пользователи и дистрибутивы продолжают применять старый драйвер ntfs-3g, работающий в пространстве пользователя. При прохождении тестового набора xfstests драйвер ntfsplus успешно проходит 326 тестов (41.4%) из 787, а ntfs3 — 273 (34.6%).
„ntfsplus“ tvarkyklė pagrįsta klasikinės „ntfs“ tvarkyklės, kuri buvo pašalinta iš branduolio, kodo baze. Ji buvo perrašyta, išplėsta įtraukiant duomenų rašymo galimybes ir gerokai išplėsta, kad būtų palaikomos modernios funkcijos, pvz., atminties puslapių folijų (folių) naudojimas vietoj „buffer_head“ struktūros. Naujoji tvarkyklė įgyvendina lėtą blokų paskirstymą, pasiekdama didelį rašymo našumą ir sumažindama fragmentaciją. „iomap“ biblioteka naudojama buferinėms skaitymo / rašymo operacijoms, tiesioginei įvesties / išvesties operacijai, apimties susiejimui ir puslapiuojamoms skaitymo / rašymo operacijoms.
Palyginti su ntfs3, naujoji tvarkyklė palaiko tokias funkcijas kaip „iomap“, atidėtas paskirstymas ir vartotojo ID susiejimas prijungimo metu („idmap“). Įdiegus ją pagrindiniame branduolyje, „ntfsplus“ planuoja įdiegti visavertį žurnalavimą (ntfs3 palaiko pakartojimo žurnalavimą).
„Ntfsplus“ taip pat pagerino našumą naudodama asinchronines „iomap“ operacijas, lėtą blokų paskirstymą, optimizuotą naujų klasterių paskirstymą, optimizuotą fragmentų sujungimą, foninį klasterio bitų žemėlapių įkėlimą ir išankstinį inode blokų bei katalogų informacijos įkėlimą. Praėjusį lapkritį atliktuose „iozone“ testuose „Ntfsplus“ tvarkyklė buvo 3–5 % greitesnė nei „Ntfs3“, kai rašė vieno gijos režimu, ir 35–110 % greitesnė, kai naudojo 4 gijas. „Ntfsplus“ ir „Ntfs3“ skaitymo greičiai yra maždaug panašūs. Failų sąrašo teste (ls -lR), skirtame katalogams, kuriuose yra 100 000, 200 ir 400 000 failų, „Ntfsplus“ yra 12–14 % greitesnis. „Ntfsplus“ yra 5–6 kartus greitesnis diegimo greičiu (0.38 sekundės, palyginti su 2.03 sekundės 1 TB skaidiniui).
Remiantis „ntfs-3g“ projekto „ntfsprogs“ programomis, „ntfsplus“ sukūrė savo vartotojo erdvės programinių įrankių rinkinį „ntfsprogs-plus“, įskaitant „ntfsclone“, „ntfscluster“ ir „ntfsinfo“ programas. Projekte taip pat buvo sukurta nauja programinė įranga „ntfsck“, skirta pažeistų NTFS skaidinių tikrinimui ir taisymui.
Šaltinis: opennet.ru
