Kent Overstreet, seit 2015 Hauptentwickler des Copy-on-Write (COW)-Dateisystems Bcachefs hat bereits vor einem knappen Jahr den Code zum Review für den Kernel eingereicht. Jetzt hat er einen weiteren wichtigen Patch nachgelegt. Das neue Dateisystem soll einmal mit den modernen Funktionen von ZFS und Btrfs und der Geschwindigkeit und Leistung von ext4 oder XFS konkurrieren.
Konkurrenz für etablierte Dateisysteme
Zu den geplanten oder bereits vorhandenen Funktionen von Bcachefs gehören Caching, vollständige Dateisystemverschlüsselung mit den Algorithmen ChaCha20 und Poly1305, native Komprimierung per zlib, LZ4- und Zstandard-Unterstützung sowie CRC-32C und 64-Bit-Prüfsummenbildung. Bcachefs bietet die gesamte Funktionalität von Bcache, einem ebenfalls von Overstreet geschriebenen Block-Layer-Cache-System, das bereits im Block-Layer des Linux-Kernel aufgenommen ist und mit dem sich Bcachefs rund 80 % des Codes teilt.
Wichtiger Meilenstein
Mit dem jetzt eingereichten Patch erreicht das Dateisystem einen aus Anwendersicht wichtigen Meilenstein, nämlich die Einführung von Snapshots und Subvolumes. Dahinter stehen neun Monate Arbeit und 3.000 Zeilen Code. Einige Eigenschaften dieser neuen Funktionalität sind:
- eine Schnittstelle ähnlich der von Btrfs für Subvolumes und Snapshots
- beschreibbare Snapshots
- Hochgradig skalierbar: Die Anzahl der Snapshots ist nur durch den verfügbaren Speicherplatz begrenzt
- sehr platzsparend: keine internen Fragmentierungsprobleme
Dateisysteme reifen langsam
Go wild, please try and break it.
Kent Overstreet
Overstreet schreibt, die Kernfunktionalität sei vollständig – Snapshot-Erstellung und -Löschung sowie fsck
funktionieren. Abgesehen davon bleibe aber noch einiges zu tun. Weitere Designentscheidungen der Implementierung sind in der Dokumentation aufgeführt. Einen Grundlagenartikel hat 2018 LWN veröffentlicht.
Gute Dateisysteme haben die Angewohnheit, langsam zu reifen. Wird das vernachlässigt, hat man hinterher mit Problemen wie von Btrfs bekannt zu kämpfen. Bcachefs wird daher bestimmt noch einige Zeit brauchen, bis es reif für den Mainline-Kernel ist.