Linus Torvalds a aprobat cererea de includere a sistemului de fișiere Bcachefs în kernelul principal Linux și a adăugat implementarea Bcachefs în repository-ul care dezvoltă ramura kernelului 6.7, al cărei release este așteptat la începutul lunii ianuarie. Patch-ul adăugat în kernel conține aproximativ 95 de mii de linii de cod. Proiectul este dezvoltat de Kent Overstreet de mai bine de 10 ani, care a creat și sistemul de cache pentru discuri SSD Bcache inclus în kernel.
Încercările de promovare a Bcachefs în kernelul principal au început în 2020, după care au fost necesare aproape trei ani pentru a remedia observațiile și erorile identificate în urma revizuirii. În primăvara acestui an a fost propus un set actualizat de patch-uri, care a fost respins de mai multe ori, dar, în cele din urmă, în septembrie, a fost acceptat în ramura linux-next, destinată testării funcționalităților pentru viitoarele versiuni ale kernelului Linux.
Bcachefs se dezvoltă utilizând tehnologii care au fost deja testate în dezvoltarea dispozitivului de bloc Bcache, destinat cache-ului accesului la hard disk-uri lente pe SSD-uri rapide (inclus în kernel începând cu versiunea 3.10). Bcachefs folosește mecanismul Copy-on-Write (COW), prin care modificările nu duc la rescrierea datelor – noul stat este scris într-o nouă locație, după care se schimbă pointerul stării curente.
În Bcachefs s-a încercat obținerea unei combinații între nivelul de performanță, fiabilitate și scalabilitate specifice XFS și funcționalitatea extinsă disponibilă în Btrfs și ZFS, precum includerea mai multor dispozitive în același volum, aranjamente de tip strat pentru stocare, replicare (RAID 1/10), caching, compresie transparentă a datelor (modurile LZ4, gzip și ZSTD), instantanee de stare (snapshots), verificarea integrității prin sume de control, posibilitatea de stocare a codurilor de corecție a erorilor Reed–Solomon (RAID 5/6) și stocarea informațiilor în format criptat (se folosesc ChaCha20 și Poly1305). În ceea ce privește performanța, Bcachefs depășește Btrfs și alte FS-uri bazate pe mecanismul Copy-on-Write, și demonstrează o viteză de lucru apropiată de Ext4 și XFS.
O caracteristică a Bcachefs este suportul pentru conectarea stratificată a unităților de stocare, în care stocarea este compusă din mai multe straturi — cel mai jos strat este conectat la cele mai rapide unități de stocare (SSD), care sunt folosite pentru a face cache datelor frecvent utilizate, în timp ce stratul superior este format din discuri mai mari și mai ieftine, care asigură stocarea datelor mai puțin solicitate. Între straturi poate fi aplicată cache-ul în modul scriere întârziată (writeback). Unitățile pot fi adăugate și deconectate din secțiune dinamic fără a opri utilizarea sistemului de fișiere (datele migrează automat).
Sursa: opennet.ro
