Wedson Almeida Filho von Microsoft hat zur Diskussion in der Mailingliste der Linux-Kernel-Entwickler die zweite Version von Patches mit einem Satz von Bindungen über das VFS-Subsystem vorgeschlagen, die für die Entwicklung von Dateisystemen in Rust im Nur-Lese-Modus vorgesehen sind. Zusammen mit den Bindungen wurden zwei darauf basierende Treiber veröffentlicht, die die Dateisysteme ext2 und tarfs im Nur-Lese-Modus implementieren. Im Gegensatz zur zuvor verfügbaren Implementierung des Ext2-Dateisystems in Rust - ext2-rs, arbeitet die neue Variante auf Kernel-Ebene (Modul rust_ext2) und nicht im Benutzermodus. Der Treiber rust_ext2 umfasst etwa 700 Zeilen Rust-Code und kann als Ausgangspunkt für die Entwicklung komplexerer Dateisystemimplementierungen, wie z.B. Ext4, genutzt werden.
Das tarfs-Dateisystem ermöglicht das Einbinden von Archiven im Tar-Format als Dateisystem. Der Treiber verwendet einen an Tar-Dateien angehängten Index, um innerhalb des Archivs über die Dateien zu navigieren, ohne den gesamten Inhalt durchgehen zu müssen.
Separat entwickelt sich ein weiteres Dateisystem in Rust, das die vorgeschlagene Abstraktionsschicht nutzt – PuzzleFS. PuzzleFS ist für die Bereitstellung isolierter Container vorgesehen und bietet Funktionen wie die effiziente Speicherung redundanter Daten, die Möglichkeit des direkten Einbindens, die wiederholte Erstellung von Images, extrem schnelles Erstellen und Einbinden von Images sowie die Nutzung einer optionalen Zwischenschicht zur Transformation (Canonicalization) von Images, die nicht zwingend vollständige Durchläufe durch den Dateibaum erfordert, wenn eine mehrschichtige Struktur verwendet wird, und die Möglichkeit der Änderungsüberlagerung im casync-Stil.
Quelle: opennet.ru
