Čini se da su napori autora BcacheFS-a urodili plodom, odnedavno postala poznata vijest da je njegova fajl sistem, konačno je uspeo da bude prihvaćen i spojen u Linux kernel kod, jer je specifičan u linux-sljedećoj grani (koji testira karakteristike za buduće verzije Linux kernela).
I tek nešto više od 3 godine Kent Overstreet, autor BcacheFS-a, je naporno radio na poliranju svog sistema datoteka tako da može biti uključen u kod glavne grane Linux kernela.
Iako je BcacheFS prihvaćen i spojen u linux-sljedeću granu, zahtjev izdvojiti za uključivanje koda by BcacheFS u glavnoj grani je odbio Linus Torvalds, na što je u komentarima oca Linuxa preporučio Kentu Overstreetu da prvo procijeni prikladnost zakrpa predloženih u eksperimentalnoj grani Linux-a-next, pa ako pregled bude uspješan, BcachefsFS bi mogao biti uključen u 6.7 kernel, čije lansiranje očekuje se u decembru.
Za one koji ne znaju za BcachefsFS, trebali biste to znati ovo je sistem datoteka razvijen koristeći tehnologije već testirano u razvoju Bcache blok uređaja, dizajniran za keširanje pristupa sporim čvrstim diskovima na brzim SSD-ovima (uključeno u kernel od verzije 3.10).
Bcachefs koristi mehanizam kopiranja na pisanje (COW) u kojem promjene ne uzrokuju prepisivanje podataka: novo stanje se upisuje na novu lokaciju, nakon čega se mijenja pokazivač trenutnog stanja.
Cilj Bcachefs-a je da postigne nivo performansi, pouzdanosti i skalabilnosti XFS-a, istovremeno pružajući dodatne Btrfs i ZFS funkcije kao što su particioniranje na više uređaja, rasporedi višeslojnih diskova, replikacija (RAID 1/10), transparentni podaci i keširanje, kompresija u LZ4, gzip i ZSTD načinima, prekidi u radu, integritet pomoću kontrolnih suma, mogućnost skladištenja Reed-Solomon kodova za ispravljanje grešaka (RAID 5/6), skladištenje informacija u šifrovanom obliku (koriste se ChaCha20 i Poly1305).
Što se tiče performansi, Bcachefs je ispred Btrfs-a i drugih sistema datoteka baziran na mehanizmu kopiranja na upisivanje i pokazuje radnu brzinu blisku Ext4 i XFS.
Posebna karakteristika by Bcachefs je podrška za višeslojne disk veze, u kojem se skladište sastoji od nekoliko slojeva: brži diskovi (SSD) su povezani na donji sloj koji služi za keširanje često korištenih podataka, a gornji sloj čine brži diskovi. Prostrani i ekonomični koji obezbijediti skladište za manje korištene podatke.
Keširanje u načinu povratnog upisivanja može se koristiti između slojeva. Diskovi se mogu dinamički dodavati i odvajati od particije bez prestanka korištenja sistema datoteka (podaci se automatski migriraju).
Vrijedno je to spomenuti najnovijih dostignuća U razvoju Bcachefs-a ističe se stabilizacija implementacije upisnih snimaka. U poređenju sa Btrfs, Snimci u Bcachefs-u sada se mnogo bolje skaliraju i oslobođeni su problema svojstvenih Btrfs-u. U praksi, snimci su testirani da rade kada se organiziraju sigurnosne kopije MySQL.
Što se tiče budućih planova uključuju želju za korištenjem Rust jezika prilikom razvoja Bcachefova. Prema autoru Bcachefsa, koji voli programiranje umjesto otklanjanja grešaka koda, bilo bi ludo pisati kod u C-u sada kada je bolja opcija dostupna.
Rust već učestvuje u Bcachefs-u u implementaciji nekih uslužnih programa koji rade u korisničkom prostoru. Osim toga, nastaje ideja da se postepeno potpuno prepiše Bcachefs u Rust, jer korištenje ovog jezika značajno štedi vrijeme za otklanjanje grešaka.
Izvor: https://www.phoronix.com