U jezgru Linux 7.1 usvojen je novi drajver za NTFS

Linus Torvalds je ujezgrao Linux 7.1, čije se objavljivanje očekuje sredinom lipnja, skup zakrpa s novom implementacijom datotečnog sustava NTFS, koja se razvijala pod imenom ntfsplus. Novi drajver je uključen pod imenom 'ntfs', koje je ranije korišteno za uklonjeni iz jezgre stari drajver, koji je radio u načinu samo za čitanje. Drajver ntfsplus razvio je Namjae Jeon, sudionik projekta Samba, koji održava drajver EXFAT i poslužitelj KSMBD u jezgru Linux.

Razvoj ntfsplus započeo je 2022. godine nakon objavljivanja izvješća o problemima s održavanjem drajvera NTFS3, koji je razvio Paragon Software i koji se isporučivao od jezgre 5.15 umjesto starog napuštenog drajvera NTFS. Od studenog 2021. do lipnja 2022. programeri ntfs3 prestali su se javljati i razmatrati poslane zakrpe, ali su zatim nastavili s održavanjem i objavili skup ispravaka koji su uključeni u jezgru 5.19. Otkako su se promjene za nove verzije jezgre redovito objavljivale, među ostalim, usvojena je prilično velika skupina poboljšanja i ispravaka u jezgru 7.0.

Kao motiv za uvođenje novog drajvera ntfsplus navedeno je da će kvalitetniji i održavani NTFS-drajver poboljšati kompatibilnost Linux-sustava s Windows uređajima i pojednostaviti rad korisnicima. Izrečeno je da u trenutnom drajveru NTFS3 postoje problemi koji ostaju neriješeni, zbog čega mnogi korisnici i distribucije nastavljaju koristiti stari drajver ntfs-3g, koji radi u korisničkom prostoru. Tijekom prolaska testnog skupa xfstests drajver ntfsplus uspješno prolazi 326 testova (41.4%) od 787, dok ntfs3 prolazi 273 (34.6%).

Vozač ntfsplus temelji se na kodnoj bazi udaljenog iz jezgra klasičnog vozača ntfs, koji je redizajniran, proširen mogućnošću pisanja podataka i znatno unaprijeđen za podršku modernim mogućnostima, poput korištenja folija stranica memorije (folios) umjesto strukture buffer_head. U novom vozaču implementirano je odloženo dodjeljivanje blokova, što je omogućilo postizanje visokih performansi operacija pisanja i smanjenje fragmentacije. Za baferizirane operacije pisanja/čitanja, izravni ulaz/izlaz, mapiranje ekstenzija i operacije straniciranja pisanja/čitanja koristi se biblioteka iomap.

U usporedbi s ntfs3, novi vozač podržava takve mogućnosti kao što su iomap, odloženo dodjeljivanje blokova (delayed allocation) i mapiranje identifikatora korisnika prilikom montiranja (idmap). Nakon što bude prihvaćen u glavni sastav jezgra, u ntfsplusu planira se implementirati potpuna evidencija (u ntfs3 postoji podrška za kreiranje replay-journal).

U ntfsplusu također su poboljšane performanse zahvaljujući primjeni asinkronih operacija iomap, odloženom dodjeljivanju blokova, optimizaciji dodjeljivanja novih klastera, optimizaciji spajanja fragmenata, učitavanju bitmapa klastera u pozadini i proaktivnom učitavanju blokova inode i informacija o direktorijima. U testovima provedenim u novembru prošle godine, iozone vozač ntfsplus pokazao se 3-5% bržim od ntfs3 pri pisanju u jednoj niti i 35-110% bržim prilikom korištenja 4 niti. Brzina čitanja ntfsplus i ntfs3 je otprilike na istom nivou. U testu za ispis popisa datoteka (ls -lR) u direktorijima s 100/200/400 tisuća datoteka, ntfsplus je brži za 12-14%. Po brzini montiranja, ntfsplus je brži 5-6 puta (za 1 TB particiju 0.38 naspram 2.03 sekunde).

Na temelju alata ntfsprogs iz projekta ntfs-3g, za ntfsplus pripremljen je vlastiti set alata ntfsprogs-plus, koji radi u korisničkom prostoru i uključuje aplikacije ntfsclone, ntfscluster i ntfsinfo. Projekt je također razvio novu alatku ntfsck za provjeru i obnavljanje oštećenih particija s NTFS-om.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster