Eine neue Treiber für NTFS wurde in den Linux-Kernel 7.1 aufgenommen.

Linus Torvalds hat das Linux-Kernel 7.1, dessen Veröffentlichung für Mitte Juni angekündigt ist, um eine Reihe von Patches erweitert, die eine neue Implementierung des NTFS-Dateisystems namens ntfsplus enthalten. Der neue Treiber ist unter dem Namen „ntfs“ enthalten, welches zuvor für den aus dem Kernel entfernten alten Treiber verwendet wurde, der nur im Nur-Lese-Modus arbeitete. Der ntfsplus-Treiber wurde von Namjae Jeon, einem Mitentwickler des Samba-Projekts, der auch den EXFAT-Treiber und den KSMBD-Server im Linux-Kernel betreut, entwickelt.

Die Entwicklung von ntfsplus begann im Jahr 2022 nach der Veröffentlichung eines Berichts über Probleme mit der Wartung des NTFS3-Treibers, der von der Firma Paragon Software entwickelt wurde und seit Kernel 5.15 anstelle des alten, aufgegebenen NTFS-Treibers geliefert wird. Von November 2021 bis Juni 2022 hörten die Entwickler von ntfs3 auf, sich zu melden und eingereichte Patches zu prüfen, nahmen aber anschließend die Wartung wieder auf und veröffentlichten eine Reihe von Korrekturen, die in den Kernel 5.19 aufgenommen wurden. Seither werden regelmäßig Änderungen für die neuesten Kernversionen veröffentlicht, und unter anderem wurde ein recht umfangreiches Set an Verbesserungen und Korrekturen in den Kernel 7.0 aufgenommen.

Als Motivation für die Integration des neuen ntfsplus-Treibers in den Kernel wurde angegeben, dass ein qualitativ besserer und gewarteter NTFS-Treiber die Kompatibilität von Linux-Systemen mit Windows-Geräten verbessern und die Benutzerfreundlichkeit erleichtern würde. Es wurde behauptet, dass der derzeitige NTFS3-Treiber ungelöste Probleme aufweist, weswegen viele Benutzer und Distributionen weiterhin den alten ntfs-3g-Treiber verwenden, der im Benutzermodus läuft. Bei der Durchführung des Testsets xfstests besteht der ntfsplus-Treiber die 326 Tests (41,4 %) von 787, während ntfs3 273 (34,6 %) besteht.

Der ntfsplus-Treiber basiert auf dem Code der aus dem Kernel entfernten Klassikerversion des ntfs-Treibers, der überarbeitet, um die Möglichkeit zur Schreibdatenspeicherung erweitert und wesentlich erweitert wurde, um moderne Funktionen wie die Verwendung von Memory Page Folios anstelle der buffer_head-Struktur zu unterstützen. Im neuen Treiber wurde ein verzögertes Block-Reservierungssystem implementiert, das eine hohe Leistung bei Schreiboperationen und eine Reduzierung der Fragmentierung ermöglicht. Für gepufferte Schreib-/Leseoperationen, direkten Input/Output, Extent-Mapping und Seiten Schreib-/Leseoperationen wird die iomap-Bibliothek verwendet.

Im Vergleich zu ntfs3 unterstützt der neue Treiber Funktionen wie iomap, verzögerte Blockzuweisung (delayed allocation) und das Mapping von Benutzer-IDs beim Einhängen (idmap). Nach der Aufnahme in den Hauptkern plant ntfsplus die Implementierung eines vollständigen Journals (in ntfs3 gibt es Unterstützung für die Erstellung eines Replay-Journals).

In ntfsplus wurde auch die Leistung verbessert, dank der Anwendung von asynchronen iomap-Operationen, verzögerter Blockzuweisung, Optimierung der Zuweisung neuer Cluster, Optimierung der Fragmentzusammenführung, des Hochladens der Clusterbitmap im Hintergrund und der vorzeitigen Ladezeit von Inode-Blöcken und Verzeichnisinformationen. In Tests, die im November letzten Jahres durchgeführt wurden, erwies sich der ntfsplus-Treiber als 3-5% schneller als ntfs3 beim Schreiben im Einzelthreadbetrieb und um 35-110% bei Verwendung von 4 Threads. Die Lese-geschwindigkeit von ntfsplus und ntfs3 liegt etwa auf dem gleichen Niveau. Im Test zum Auflisten von Dateien (ls -lR) in Verzeichnissen mit 100/200/400 Tausend Dateien war ntfsplus um 12-14% schneller. Bei der Einhängegeschwindigkeit war ntfsplus 5-6 Mal schneller (für eine 1 TB-Partition 0,38 gegenüber 2,03 Sekunden).

Auf Basis der ntfsprogs-Utilities aus dem Projekt ntfs-3g wurde ein eigenes Set von Utilities ntfsprogs-plus für ntfsplus vorbereitet, das im Benutzerspeicher arbeitet und die Anwendungen ntfsclone, ntfscluster und ntfsinfo umfasst. Das Projekt hat auch ein neues Tool ntfsck zur Überprüfung und Wiederherstellung beschädigter NTFS-Partitionen entwickelt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4