Wedson Almeida Filho von Microsoft hat in der Mailingliste für Linux-Kernel-Entwickler die zweite Version der Patches mit einem Satz von Bindings für das VFS-Subsystem zur Diskussion gestellt. Diese sind für die Entwicklung von Rust-basierten Dateisystemen gedacht, die im Nur-Lese-Modus betrieben werden. Zusammen mit den Bindings wurden zwei darauf basierende Treiber veröffentlicht, die die Dateisysteme ext2 und tarfs implementieren und im Nur-Lese-Modus arbeiten. Im Unterschied zur zuvor verfügbaren Implementierung des Ext2-Dateisystems in Rust – ext2-rs – funktioniert die neue Variante auf Kernel-Ebene (Modul rust_ext2) und nicht im Benutzerspeicher. Der rust_ext2-Treiber enthält etwa 700 Zeilen Rust-Code und kann als Ausgangspunkt für die Entwicklung komplexerer Implementierungen wie des Ext4-Dateisystems verwendet werden.
Das tarfs-Dateisystem ermöglicht das Einhängen von Archiven im Tar-Format als Dateisystem. Der Treiber verwendet einen an die tar-Dateien angehängten Index zur Navigation durch die Dateien im Archiv, ohne den gesamten Inhalt durchzusehen.
Eine separate Dateisystem-Implementierung in Rust wird ebenfalls entwickelt, bekannt als PuzzleFS. PuzzleFS ist für die Bereitstellung isolierter Container ausgelegt und bietet Funktionen wie effiziente Speicherung redundanter Daten, direkte Einbindung, wiederholte Erstellung von Images, sehr schnelles Erstellen und Einbinden von Images sowie die Möglichkeit, eine optionale Zwischenstufe zur Umwandlung (Canonicalization) von Images zu nutzen. Vollständige Traversierungen des Dateisystems sind beim Einsatz einer Schichtstruktur nicht erforderlich, und Änderungen können im casync-Stil angewendet werden.
Quelle: opennet.ru
