Linus Torvalds hat den Kernel aufgenommen Linux 7.1, dessen Veröffentlichung für Mitte Juni erwartet wird, eine Reihe von Änderungen mit einer neuen Implementierung des Treibers für das Dateisystem NTFS. Der neue Treiber ist unter dem Namen «ntfs», der zuvor für den entfernten Kern des alten Treibers verwendet wurde, der im Nur-Lese-Modus arbeitete. Bislang blieb der Haupt-NTFS-Treiber im Kernel ntfs3, der vor einigen Jahren von der Paragon Software hinzugefügt wurde.
Die neue Implementierung wurde vom Kernel-Entwickler Namjae Jeon entwickelt, der zuvor an der Entwicklung von exFAT, KSMBD und anderen Subsystemen beteiligt war. Die Arbeit an dem Treiber dauerte etwa vier Jahre und stellt eine Überarbeitung des ursprünglichen NTFS-Treibers des Kernels mit einer saubereren Codebasis dar, in die Unterstützung für Schreibzugriffe, modernere Funktionen und eine verbesserte Integration mit den aktuellen Mechanismen des Linux-Kernels integriert wurden.
Zu den Vorteilen der neuen Implementierung zählen vollständige Schreibunterstützung, eine höhere Stabilität im Vergleich zu ntfs3, das Bestehen einer größeren Anzahl von Tests xfstests, sowie die Nutzung moderner Funktionen des Kernels, wie zum Beispiel . In den iozone-Tests war der ntfsplus-Treiber 3-5 % schneller als ntfs3 bei Schreibvorgängen im Einzel-Thread-Modus und 35-110 % schneller bei Verwendung von 4 Threads. Die Leseleistung von ntfsplus und ntfs3 liegt примерно auf einem Niveau. Der ntfs3-Treiber bleibt im Kernel und erhält und Folio. Darüber hinaus wurden für die neue Implementierung Benutzer-Utilities für fsckvorbereitet. Laut den Autoren sieht der neue Treiber in Bezug auf die interne Integration mit den modernen Funktionen des Kernels bevorzugter aus als der aktuelle ntfs3.
Vor der Aufnahme in den Hauptzweig befand sich der Code etwa zwei Monate lang in linux-next, wo er einem zusätzlichen Test und Review unterzogen wurde. Der gesamte Umfang der neuen und überarbeiteten Codebasis wird auf mehr als 36.000 Zeilen.
Es ist bemerkenswert, dass Linus Torvalds zunächst den ersten Versuch, den neuen Treiber einzuführen, aufgrund von Problemen mit der Formatierung Pull-Request in Git abgelehnt hat, jedoch wurden die Änderungen nach Einsendung der korrigierten Version schließlich akzeptiert. Torvalds selbst bezeichnete das Geschehen als «ntfs resurrection». Der Treiber ntfs3 bleibt vorerst im Quellbaum des Kernels, und die neue Implementierung kann über die Option NTFS_FS in Kconfig.
Quelle: linux.org.ru
