Linux-Kernel: Potenterer Treiber fürs NTFS-Dateisystem integriert

Der neu in Linux eingeflossene NTFS-Treiber "NTFS3" verspricht bessere Performance & größeren Funktionsumfang als die – nun wachgerüttelte – Konkurrenz.

In Pocket speichern vorlesen Druckansicht 36 Kommentare lesen

(Bild: Wikimedia Commons / Flickr (travlinman43) / CC-BY SA 2.0 / Bildausschnitt)

Lesezeit: 5 Min.
Von
  • Thorsten Leemhuis
Inhaltsverzeichnis

Linux-Distributionen dürften das Windows-Dateisystem NTFS bald besser von Haus aus unterstützen. Das ist einem neuen NTFS-Kernel-Treiber namens "NTFS3" zu verdanken, den das Anfang November erwartete Linux 5.15 mitbringen wird. NTFS3 bietet Funktionen, die dem bislang meist zum NTFS-Support verwendeten Ansatz fehlen. Zugleich verspricht der neue Kernel-Code bessere Performance. Wie signifikant der Unterschied tatsächlich sein wird, muss sich allerdings noch zeigen. Denn der neue Treiber hat auch bei den Entwicklern des bislang gemeinhin verwendeten Treibers neue Energie freigesetzt. Sie arbeiten ihrerseits an einer neuen Version.

Der neue, am Samstagsabend in den Kernel integrierte NTFS-Treiber stammt größtenteils von Entwicklern der Firma Paragon Software GmbH, die unter anderem auch mit einem kommerziellen NTFS-Treiber für Linux ihr Geld verdient. Der Code von NTFS3 ist aber eine Neuentwicklung, die Mitarbeiter vor einigen Monaten überraschend zur Integration eingereicht haben. Seitdem haben sie auf Bitten von Kernel-Entwicklern allerlei Änderungen vorgenommen, um die Qualität zu steigern.

NTFS3 soll laut den Entwicklern alle gängigen Features bis hin zu NTFS 3.1 beherrschen, das Windows-Versionen für PCs seit fast zwei Jahrzehnten verwenden. Der neue Treiber ist damit deutlich besser als der veraltete und weitgehend "vergessene" NTFS-Treiber im Linux-Kernel, der viele Funktionen vermissen lässt und nur rudimentäre Schreibunterstützung beherrscht.

Linux-Distributionen lassen den alten Standard Kernel-Treiber aufgrund dieser Defizite schon lange meist links liegen. Stattdessen setzen sie zum NTFS-Support auf NTFS-3G. Dieser Ansatz stammt ursprünglich von der Firma Tuxera, die wie Paragon parallel einen kommerziellen NTFS-Treiber für Linux anbietet. Bei NTFS-3G steckt der NTFS-Support indes nicht im Kernel, sondern in einem Programm, das per FUSE (Filesystem in Userspace) beim Kernel andockt. NTFS3G läuft also wie normale Anwendungen im "Userspace", und nicht direkt im Kernel (Kernelspace), wie es beim jetzt aufgenommenen NTFS3 der Fall ist.

Der FUSE-Ansatz von NTFS-3G erleichtert das Programmieren und Aktualisieren; andererseits verkompliziert das Hin und Her zwischen User- und Kernel-Space Interaktion und Datenaustausch. Diesen Overhead vermeidet der neu in den Kernel integrierte Treiber NTFS3, was höheren Datendurchsatz und geringere Wartezeiten verspricht. Tatsächlich kursieren Messungen, laut denen NTFS3 um ein Vielfaches schneller arbeiten soll. Die NTFS-3G-Entwickler behaupten allerdings, dass diese Resultate auf alte Versionen, ungeschickte Standardeinstellungen und Fehlinterpretation einzelner Ergebnisse zurückzuführen seien.

Die ungeschickte Default-Konfiguration wollen die NTFS-3G-Entwickler bald mit einer neuen Version angehen. Diese haben sie vor einigen Tagen in Aussicht gestellt, als sich Entwickler der NTFS-3G-Ansätze "NTFS-3G" und "NTFS-3G Advanced Version (NTFS-3G AR)" zusammengeschlossen haben. Allem Anschein nach wollen Tuxera und andere involvierte Entwickler NTFS-3G so besser gegen den neuen Kernel-Treiber NTFS3 aufstellen.

Die Vorwürfe der NTFS-3G-Entwickler zu problematischen Aspekten bei den Geschwindigkeitsmessungen erscheinen zum Teil berechtigt. Ohnehin profitiert das noch junge NTFS3 womöglich erst nach weiteren Optimierungen wirklich von dem geringeren, prinzipbedingten Overhead. Andere Vorteile zeigen sich schon jetzt. Durch die Integration in den Kernel funktionieren einige Dinge mit NTFS3, die mit FUSE-Dateisystemen wie NTFS-3G nicht oder nur umständlicher zu bewerkstelligen sind – etwa die Freigabe eines NTFS-Dateisystems via NFS (Network File System).

Hintergründe zum neuen NTFS-Kernel-Treiber finden sich in Linus Torvalds Kommentar zur Integration in Linux und in der NTFS3-Dokumentation. An beiden Stellen führen die Entwickler an, dass NTFS3 bislang nur "Native Journal Replaying" beherrscht, falls das einzuhängende Dateisystem nach einem Absturz wieder in einen konsistenten Zustand gebracht werden muss. Vollen Journaling-Support über das JBD (Journaling Block Device) von Linux wollen sie nachreichen.

Die Kernel-Dokumentation umreißt den Funktionsumfang des neuen NTFS-Treibers.

(Bild: git.kernel.org / Screenshot)

In einer von Paragon publizierten FAQ zu NTFS3 erwähnt die Firma, ihr derzeit proprietäres Linux-Programm zum Formatieren von NTFS-Dateisystemen unter einer Open-Source-Lizenz veröffentlichen zu wollen. Die FAQ enthält auch eine Tabelle, die Unterschiede zwischen verschiedenen NTFS-Ansätzen für Linux aus Sicht der Firma erläutert. NTFS-3G-Entwickler wie Tuxera dürften aber an einigen Stellen womöglich anderer Meinung sein.

Paragon vergleicht die NTFS-Lösungen für Linux in einer FAQ.

(Bild: paragon-software.com / Screenshot)

NTFS3 und NTFS-3G sollten in einer Linux-Distribution parallel nutzbar sein. Abzuwarten bleibt indes, ob oder wann gängige Linux-Distributionen den neuen NTFS3-Treiber tatsächlich ausliefern. Aus Angst vor Zank mit Microsoft hat Red Hat den alten NTFS-Treiber des Linux-Kernels vor zehn bis zwanzig Jahren bewusst außen vor gelassen und anfangs auch mit Vorsicht gehandhabt.

Seitdem hat sich Microsoft aber erheblich gewandelt und steht Linux und Open Source Software deutlich offener gegenüber. Im Zuge dessen ist das Unternehmen auch Mitglied des Patentschutznetzwerks OIN (Open Invention Network) geworden, das sogar NTFS-3G in seiner Systemdefinition nennt, was Red Hat und andere Mitglieder absichern dürfte. Laut den openSUSE-Machern sind aber ohnehin keine Patente bekannt, die NTFS schützen.

(ovw)