Kent Overstreet ha pubblicato il rilascio del file system Bcachefs 1.37.0. Il rilascio comprende due pacchetti: bcachefs-kernel-dkms con il modulo del kernel costruito utilizzando il sistema DKMS (Dynamic Kernel Module Support) e bcachefs-tools con l'utilità bcachefs in user space, che implementa comandi per la creazione (mkfs), il montaggio, il recupero e il controllo del file system. I pacchetti sono stati compilati per Debian, Ubuntu, Fedora, openSUSE, NixOS e Arch Linux. Il modulo DKMS supporta i kernel Linux a partire dalla versione 6.16.
Nella nuova versione:
- È stata stabilizzata e dichiarata pronta per l'uso generale la supporto ai codici di correzione degli errori, che consentono di recuperare dati danneggiati analogamente a RAID 5/6. L'implementazione si basa sulla codifica di Reed-Solomon, capace di correggere fino a N errori in uno stripe (striscia) in presenza di N blocchi ridondanti. È garantito il recupero automatico degli stripe degradati. È stata aggiunta la possibilità di applicare i codici di recupero in configurazioni con dispositivi di dimensioni diverse.
- È stata aggiunta la supporto per il kernel Linux 7.0 attualmente in fase di sviluppo.
- Sono state implementate nuove comandi «subvolume list» per visualizzare i sottovolumi con filtraggio e ordinamento; «subvolume list-snapshots» per mostrare gli snapshot in forma ad albero; «subvolume reflink-option-propagate» per applicare le opzioni di I/O del file, come compressione, checksum, numero di repliche e lista dei dispositivi target, agli extent del file.
- Stabilizzata l'operazione di rewind del log.
- Garantita il ripristino automatico quando si utilizzano dispositivi con supporto errato per i comandi di azzeramento delle operazioni di scrittura in cache (flush e FUA).
- Accelerato il ripristino dopo un arresto anomalo.
- Migliorata la performance del filesystem che comprende più dispositivi.
- Gli strumenti bcachefs eseguiti nello spazio utente sono stati riscritti in Rust. In futuro si prevede di riscrivere in Rust anche i componenti del filesystem che operano a livello di kernel. È iniziato il lavoro per utilizzare l'arsenale Verus per la verifica formale del codice in Rust.
Il progetto Bcachefs sviluppa un file system pensato per combinare la funzionalità avanzata tipica di Btrfs e ZFS con livelli di prestazioni, affidabilità e scalabilità caratteristici di XFS. Bcachefs supporta funzionalità come l'attivazione di più dispositivi in una sezione, layout di storage multilivello (uno strato per i dati frequentemente utilizzati basato su SSD veloci e uno strato superiore per i dati meno richiesti provenienti da dischi rigidi), replica (RAID 1/10), caching, compressione dei dati trasparente (modalità LZ4, gzip e ZSTD), istantanee di stato (snapshot), verifica dell'integrità tramite checksum, codici di correzione degli errori e archiviazione di informazioni in forma cifrata (utilizzando ChaCha20 e Poly1305).
Fonte: opennet.ru
