Kent Overstreet publikoi versionin e sistemës së skedarëve Bcachefs 1.33.0. Ky version përfshin dy paketa: bcachefs-kernel-dkms me modul bërthame të ndërtuar me sistemin DKMS (Dynamic Kernel Module Support), dhe bcachefs-tools me utilitarin bcachefs që ekzekutohet në hapësirën e përdoruesit, duke realizuar komandat për krijimin (mkfs), montimin, rikuperimin dhe verifikimin e FS. Paketat janë ndërtuar për Debian, Ubuntu, Fedora, openSUSE, NixOS dhe Arch Linux. Moduli DKMS mbështet funksionimin me bërthama Linux që fillojnë nga 6.16.
Në versionin e ri është shtuar funksionaliteti «reconcile» (rebalance_v2), i cili shënohet si ndryshimi më i madh në dy vitet e fundit në FS. Ndryshe nga moda e mëparshme «rebalance», mekanizmi «reconcile» lejon ekzekutimin e ribalancimit jo vetëm të të dhënave (për shembull, riprodhimin e disa kopjeve në disqe të ndryshme), por edhe të të dhënave meta në FS (për shembull, për të transferuar të dhënat meta pas shtimit të një disku të ri në pool). Përveç kësaj, reconcile tani është i aplikueshëm për të gjitha opsionet e hyrjes/ daljeve dhe jo vetëm për operacionet e kopjimit në sfond dhe kompresimit. Në reconcile gjithashtu merren automatikisht parasysh ndryshimet në opsionet ose cilësimet e pajisjeve dhe menjëherë riprodhohen të dhënat dhe metadatet e degraduara.
NĂ« reconcile angazhohen indekse tĂ« veçanta pĂ«r: operacionet me prioritet tĂ« lartĂ«; optimizimin e pĂ«rpunimit tĂ« tĂ« dhĂ«nave nĂ« disqet ruajtĂ«se; tĂ« dhĂ«nat e planifikuara pĂ«r pĂ«rpunim qĂ« momentalisht nuk mund tĂ« kryhen (pĂ«r shembull, pĂ«r shkak tĂ« mungesĂ«s sĂ« hapĂ«sirĂ«s). ĂshtĂ« shtuar mbĂ«shtetje pĂ«r krijimin e njĂ« sistemi skedarĂ«sh nĂ« njĂ« disk nĂ« modin me riprodhim tĂ« dyfishtĂ« (replicas=2) â nĂ« kĂ«tĂ« konfigurim, shtimi i disku tĂ« dytĂ« do tĂ« rezultojĂ« nĂ« riprodhimin automatik tĂ« tĂ« dhĂ«nave nĂ« diskun e shtuar, pa nevojĂ«n pĂ«r tĂ« bĂ«rĂ« ndonjĂ« veprim nga ana e pĂ«rdoruesit.
Ndër ndryshimet e tjera:
- Shtuar komandat «reconcile status» dhe «reconcile wait». Shtuar opsionet për montim «mount_trusts_udev» dhe «writeback_timeout». Komandat «data rereplicate» dhe «data job drop_extra_replicas» janë shpallur si të tërhequra.
- Shtuar moda e rikuperimit «merge_btree_nodes», e cila kryen verifikimin e të gjithë nyjeve në strukturat btree që bien nën operacionet e bashkimit.
- Përgatitja e kodit është realizuar për kalimin në përdorimin e gjuhës Rust. Numri i operacioneve goto në kod është reduktuar nga 2500 në 600. Në vend të vektorëve të koduar hapur, është përdorur makroja DARRAY(), e cila ofron funksionalitet të ngjashëm me masivët dinamikë të C++ dhe Rust. Për trajtimin e gabimeve është përdorur makroja try(), e huazuar nga Rust.
- Në ekipin «bcachefs fs usage» është siguruar informimi i saktë për të dhënat e degraduara.
- Trajtimi i numëruesve të treguar nga komandës «bcachefs fs top» është ripërpunuar. Shtimi i numëruesve të rinj është thjeshtuar dhe është realizuar mundësia e transformimit të pikave të gjurmimit (tracepoint) në buferat e daljes (printbufs).
- Cilësia e mesazheve të gabimeve është përmirësuar, të cilat tani përfshijnë informacion mbi llojet e dështimeve (softuerike ose harduerike), veprimet për zgjidhjen e gabimit (për shembull, nisja e procesit të rikuperimit), dhe kodeve të gabimeve të hyrje/daljes nga pajisjet bllokuese. Gjatë skanimit të strukturave btree, është siguruar dalja e informacioneve mbi mundësinë e rikuperimit të nyjeve problematike.
- Në regjistrimin log është shtuar mundësia e përcaktimit të ndarë të limiteve për intensitetin e daljes së llojeve të ndryshme të gabimeve. Këto limita lejojnë parandalimin e humbjes së mesazheve për probleme të vetme harduerike në sfondin e një numri të madh mesazhesh mbi gabimet softuerike.
- Janë shtuar indikatorë progresi për të gjitha fazat e rikuperimit.
Projekti Bcachefs po zhvillon një sistem skedarësh me qëllim të kombinimit të funksionaliteteve të avancuara tipike për Btrfs dhe ZFS, me nivelin e performancës, besueshmërisë dhe shkallëzueshmërisë karakteristike për XFS. Bcachefs mbështet funksionalitete si lidhja e disa pajisjeve në një skedë, konfigurime të shumëfishta të ruajtjes (shtresa e poshtme me të dhënat e përdorura shpesh në SSD të shpejtë dhe shtresa e sipërme me të dhëna më pak të kërkuara nga diskët e fortë), replikimi (RAID 1/10), caching, kompresimi transparent të të dhënave (modet LZ4, gzip dhe ZSTD), snapshot-e, verifikimin e integritetit përmes shumave kontrolluese, mundësinë e ruajtjes së kodit të korrigjimit të gabimeve të Reed-Solomon (RAID 5/6), ruajtjen e informacionit në formë të enkriptuar (përdoren ChaCha20 dhe Poly1305). Në aspektin e performancës, Bcachefs tejkalon Btrfs dhe sisteme të tjera skedarësh që janë në bazë të mekanizmit Copy-on-Write, dhe tregon shpejtësi pune të ngjashme me Ext4 dhe XFS.
Burimi: opennet.ru
