Kent Overstreet veröffentlichte die Version 1.37.0 des Dateisystems Bcachefs. Diese Version umfasst zwei Pakete: bcachefs-kernel-dkms mit einem Kernelmodul, das mit Hilfe des DKMS-Systems (Dynamic Kernel Module Support) kompiliert wird, und bcachefs-tools mit dem Benutzerraum-Dienstprogramm bcachefs, das Befehle zum Erstellen (mkfs), Einbinden, Wiederherstellen und Überprüfen des Dateisystems implementiert. Die Pakete sind für Debian, Ubuntu, Fedora, openSUSE, NixOS und Arch Linux verfügbar. Das DKMS-Modul unterstützt die Arbeit mit Linux-Kernen ab Version 6.16.
In der neuen Version:
- Die Unterstützung für Fehlerkorrekturcodes, die beschädigte Daten ähnlich wie RAID 5/6 wiederherstellen können, wurde stabilisiert und zur allgemeinen Nutzung freigegeben. Die Implementierung basiert auf Reed-Solomon-Codierung, die bis zu N Fehler im Stripe bei Vorhandensein von N redundanten Blöcken korrigieren kann. Die automatische Wiederherstellung degradierter Stripes wurde sichergestellt. Es wurde die Möglichkeit hinzugefügt, Wiederherstellungscodes in Konfigurationen mit Speichermedien unterschiedlicher Größe anzuwenden.
- Die Unterstützung des in Entwicklung befindlichen Linux-Kernels 7.0 wurde hinzugefügt.
- Neue Befehle wie „subvolume list“ zum Ausgeben von Subvolumes mit Filterung und Sortierung wurden implementiert; „subvolume list-snapshots“ zeigt Snapshots in Baumstruktur an; „subvolume reflink-option-propagate“ wendet Datei-Eingabe-/Ausgabeparameter wie Kompression, Prüfziffer, Anzahl der Replikate und Liste der Zielgeräte auf die Extents der Datei an.
- Die Operation zum Zurückspulen (rewind) des Journals wurde stabilisiert.
- Die automatische Wiederherstellung bei der Nutzung von Geräten mit fehlerhafter Unterstützung für Befehle zum Zurücksetzen von gecachten Schreibvorgängen auf das Speichermedium (flush und FUA) wurde sichergestellt.
- Die Wiederherstellung nach einem fehlerhaften Herunterfahren wurde beschleunigt.
- Die Leistung des Dateisystems, das mehrere Geräte umfasst, wurde verbessert.
- Die im Benutzerraum laufenden Dienstprogramme bcachefs wurden in Rust neu geschrieben. In Zukunft wird auch die auf Kernel-Ebene arbeitende Komponenten des Dateisystems in Rust neu geschrieben. Es wurde mit der Arbeit an der Verwendung des Verus-Toolkits zur formalen Verifizierung von Rust-Code begonnen.
Das Projekt Bcachefs entwickelt ein Dateisystem, das darauf abzielt, die erweiterte Funktionalität von Btrfs und ZFS mit einem Leistungs-, Zuverlässigkeits- und Skalierbarkeitsniveau zu kombinieren, das charakteristisch für XFS ist. Bcachefs unterstützt Funktionen wie das Einbinden mehrerer Geräte in ein Volume, mehrschichtige Speicherlayouts (untere Schicht mit häufig verwendeten Daten auf schnellen SSDs und obere Schicht mit weniger häufig verwendeten Daten von Festplatten), Replikation (RAID 1/10), Caching, transparentes Datenkomprimieren (Modi LZ4, gzip und ZSTD), Zustands-Schnappschüsse, Integritätsprüfung via Prüfziffern, Fehlerkorrekturcodes und die Speicherung von Informationen in verschlüsselter Form (es werden ChaCha20 und Poly1305 verwendet).
Quelle: opennet.ru
