Linus Torvalds ha incluso nel kernel Linux 7.1, il cui rilascio è atteso per metà giugno, un insieme di modifiche con una nuova implementazione del driver per il file system NTFS. Il nuovo driver è incluso con il nome «ntfs», precedentemente utilizzato per il remoto dal vecchio driver, che funzionava in modalità di sola lettura. Fino ad ora, il principale driver NTFS nel kernel è rimasto ntfs3, aggiunto qualche anno fa da Paragon Software.
La nuova implementazione è stata preparata dal sviluppatore del kernel Namjae Jeon (Namjae Jeon), che ha precedentemente partecipato allo sviluppo di exFAT, KSMBD e altre sottosistemi. Il lavoro sul driver è durato circa quattro anni e rappresenta una revisione del vecchio driver NTFS del kernel con una base di codice più pulita, a cui sono state aggiunte la scrittura, funzionalità più moderne e una migliore integrazione con i meccanismi attuali del kernel Linux.
Tra i vantaggi della nuova implementazione ci sono il supporto completo per la scrittura, una maggiore stabilità rispetto a ntfs3, un numero maggiore di test superati xfstests, e l'uso di funzionalità moderne del kernel, come iomap e folio. Inoltre, per la nuova implementazione sono state preparate utility per fsck. Secondo gli autori, per livello di integrazione interna con le funzionalità moderne del kernel, il nuovo driver sembra preferibile rispetto all'attuale ntfs3.
Prima di essere incluso nel ramo principale, il codice è rimasto in linux-nextper circa due mesi, dove ha subito ulteriori test e revisione. L'ammontare totale della nuova e della base di codice rivisitata è stimata in più di 36 mila righe.
È interessante notare che inizialmente Linus Torvalds ha rifiutato il primo tentativo di includere il nuovo driver a causa di problemi di formattazione pull request in Git, tuttavia, dopo l'invio di una versione corretta, le modifiche sono state comunque accettate. Lo stesso Torvalds ha descritto quanto accaduto come «ntfs resurrection». Tuttavia, il driver ntfs3 rimane ancora nell'albero dei sorgenti del kernel, e la nuova implementazione può essere inclusa tramite l'opzione NTFS_FS in Kconfig.
Fonte: linux.org.ru
