Zum Hauptinhalt Zur Navigation

Linus Torvalds: User-Space-Treiber für Dateisysteme sind Spielzeug

In der Diskussion über die Aufnahme eines neuen Overlay-Dateisystems in den Linux-Kernel ist ein Streit über den User-Space-Treiber Fuse entbrannt. Laut Linus Torvalds ist Fuse nur Spielzeug und seine Geschwindigkeit könne keineswegs mit der von Kernel-Treibern mithalten. Einige Kernel-Entwickler widersprechen ihm.
/ Jörg Thoma
12 Kommentare News folgen (öffnet im neuen Fenster)
Bild: Sven, CC BY-SA 3.0

Bei der Bitte um Aufnahme des Overlayfs-Treibers(öffnet im neuen Fenster) in den Kernel trat Entwickler Miklos Szeredi eine Diskussion über den Einsatz des User-Space-Treibers Fuse los. Zunächst hatte Andrew Morton nachgefragt, ob Overlayfs-Treiber nicht auch als Fuse-Treiber eingesetzt werden könnten(öffnet im neuen Fenster) . Szeredi verneinte, denn Fuse-Treiber für Dateisysteme seien viel zu langsam(öffnet im neuen Fenster) . Morton akzeptierte das Gegenargument, schlug aber auch vor, den Treiber noch zu verbessern(öffnet im neuen Fenster) , so dass er eventuell ähnliche Zugriffsgeschwindigkeiten erreichen könne, wie der entsprechende Kernel-Treiber.

Fuse ist nur ein Spielzeug

Kernel-Hacker Linus Torvalds meldete sich daraufhin zu Wort(öffnet im neuen Fenster) und beschrieb User-Space-Treiber generell als Spielzeug. Sie seien für den Einsatz auf langsamen Speichermedien und bei Schnittstellen geeignet aber niemals für den Einsatz mit dem Root-Dateisystem des Betriebssystems brauchbar, wie von Overlayfs beabsichtigt.

Overlayfs soll als Kernel-Treiber für eine beschreibbare Schicht auf einem statischen Dateisystem, etwa auf einem optischen Medium oder einem ROM-Baustein aufsetzen. Das soll Schreibzugriffe ermöglichen, ohne das gesamte Dateisystem in den Speicher laden zu müssen. Gedacht ist Overlayfs für Live-CDs oder Embedded-Geräte.

Fuse kann doch schnell sein

Szeredi entgegnete, dass der NTFS-Treiber-3g für Fuse(öffnet im neuen Fenster) ganz gut funktioniere. Er sei nicht so schnell wie ein Kernel-Treiber es sein könnte, aber schneller als der gegenwärtige Kernel-Treiber sei er allemal. Der Fuse-Treiber könne auch noch verbessert werden. Letztendlich sei das optimale Caching für die Zugriffsgeschwindigkeiten verantwortlich und nicht das Dateisystem selber.

Der Entwickler des NTFS-Treibers von Tuxera Anton Altaparmakov, griff ebenfalls in die Diskussion ein(öffnet im neuen Fenster) : Der Tuxera-Treiber beweise, dass direkte Zugriffe über den Kernel deutlich schneller seien als über Fuse. Der Vorteil des Fuse-Treibers liege darin, dass es einfacher wäre, einen einzigen Fuse-Treiber zu entwickeln, statt für mehrere Architekturen.

NTFS-Treiber auch im User-Space flink

Zudem könne der Fuse-Treiber weniger auf Caching-Funktionen zugreifen als ein Kernel-Treiber, schrieb Altaparmakov. Er habe den Tuxera-Treiber mit Hilfe von delayed metadata updates beschleunigt(öffnet im neuen Fenster) . Sowohl die Kernel-Treiber-Variante als auch der Treiber für Fuse seien schneller als sämtliche andere gegenwärtige Dateisystem-Treiber, selbst als die für die Standard-Dateisysteme Ext3 und Ext4. Greg Kroah-Hartman verwies in einer Replik(öffnet im neuen Fenster) an Torvalds ebenfalls auf die Treiber von Tuxera, die allerdings nicht alle als Open-Source-Treiber angeboten werden.

Fuse ist seit Kernel 2.6.14 vom Oktober 2005 offiziell als Treiber integriert. Er dient als Brücke zum Kernel und erlaubt den Zugriff auf Dateisysteme auch für unprivilegierte Benutzer. Er wird aber auch dann eingesetzt, wenn der verwendete Treiber unter Umständen gegen die GPL verstößt. Bekannte Fuse-Treiber sind NTFS-3g oder ZFS-Fuse, das den Zugriff auf das unter BSD eingesetzte ZFS-Dateisystem ermöglicht. Auch die Verschlüsselungssoftware Truecrypt oder das virtuelle Dateisystem für Gnome GVFS verwenden den Fuse-Treiber.

Die Diskussion(öffnet im neuen Fenster) darüber, ob der Patch akzeptiert wird, dauert noch an.


Relevante Themen