Kent Overstreet ha pubblicato l'uscita del file system Bcachefs 1.37.0. L'uscita copre 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 space utente, che implementa i comandi per la creazione (mkfs), il montaggio, il ripristino e la verifica del FS. I pacchetti sono stati compilati per Debian, Ubuntu, Fedora, openSUSE, NixOS e Arch Linux. Il modulo DKMS supporta l'uso di kernel Linux a partire dalla versione 6.16.
Nella nuova versione:
- È stata stabilizzata e dichiarata pronta per l'uso generale il supporto per i codici di correzione degli errori, che consentono di ripristinare i dati danneggiati in modo simile a RAID 5/6. L'implementazione si basa sulla codifica di Reed-Solomon, in grado di correggere fino a N errori in uno stripe alla presenza di N blocchi ridondanti. È garantito il ripristino automatico degli stripe degradati. È stata aggiunta la possibilità di applicare codici di ripristino in configurazioni con dispositivi di dimensioni diverse.
- È stato aggiunto il supporto per il kernel Linux 7.0 attualmente in sviluppo.
- Sono stati implementati nuovi 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 elenco dei dispositivi di destinazione, per gli extent del file.
- È stata stabilizzata l'operazione di rewind del registro.
- È garantito il ripristino automatico quando si utilizzano dispositivi con supporto non corretto per i comandi di azzeramento delle operazioni di scrittura memorizzate nella cache (flush e FUA).
- È stato accelerato il ripristino dopo un'interruzione anomala.
- È stata aumentata la performance del FS che copre più dispositivi.
- Le utilità bcachefs in space utente sono state riscritte in Rust. In futuro si prevede di riscrivere in Rust anche i componenti del FS che operano a livello di kernel. È iniziato il lavoro per l'utilizzo dello strumento Verus per la verifica formale del codice in Rust.
Il progetto Bcachefs sviluppa un file system mirato a combinare l'estesa funzionalità tipica di Btrfs e ZFS con il livello di prestazioni, affidabilità e scalabilità caratteristico di XFS. Bcachefs supporta funzionalità come l'inclusione di più dispositivi in una partizione, layout a più livelli dei dischi (uno strato inferiore con i dati frequentemente utilizzati su SSD veloci e uno strato superiore con dati meno richiesti da hard disk), replica (RAID 1/10), caching, compressione dei dati trasparente (modalità LZ4, gzip e ZSTD), snapshot, verifica dell'integrità mediante checksum, codici di correzione degli errori, memorizzazione delle informazioni in forma crittografata (utilizzando ChaCha20 e Poly1305).
Fonte: opennet.ru
