Linus Torvalds schválil požadavek na zahrnutí souborového systému Bcachefs do hlavního jádra Linuxu a přidal implementaci Bcachefs do repozitáře, ve kterém se vyvíjí větev jádra 6.7, jejíž vydání se očekává začátkem ledna. Přidaný patch do jádra obsahuje přibližně 95 tisíc řádků kódu. Projekt, jehož vývoj trvá už více než 10 let, vede Kent Overstreet, který také vyvinul systém vyrovnávání blokových zařízení na SSD Bcache, zahrnutý do jádra od verze 3.10.
Snažení o prosazení Bcachefs do hlavního jádra začalo v roce 2020, po kterém bylo potřeba téměř tři roky na odstranění připomínek a nedostatků zjištěných při recenzování. Na jaře tohoto roku byl navržen aktualizovaný soubor patchů, který byl několikrát zamítnut, ale nakonec byl v září přijat do větve linux-next, určené pro testování funkcionalit pro budoucí vydání jádra Linuxu.
Bcachefs se vyvíjí s využitím technologií již vyzkoušených při vývoji blokového zařízení Bcache, které slouží k vyrovnávání přístupu k pomalým pevným diskům na rychlých SSD (součást jádra od verze 3.10). V Bcachefs se používá mechanismus Copy-on-Write (COW), při kterém změny nevedou k přepsání dat — nový stav je zapisován na nové místo, po čemž se změní ukazatel aktuálního stavu.
V Bcachefs se pokouší dosáhnout kombinace úrovně výkonu, spolehlivosti a škálovatelnosti, typické pro XFS, a rozšířené funkcionality, kterou mají Btrfs a ZFS, jako je zahrnutí více zařízení do oddílu, vícestupňové rozvržení disků, replikace (RAID 1/10), vyrovnávání, průhledné komprese dat (módy LZ4, gzip a ZSTD), snímky stavu, ověřování integrity pomocí kontrolních součtů, možnost uchovávat kódy pro opravu chyb Reed-Solomon (RAID 5/6) a ukládání informací zašifrovaně (používají se ChaCha20 a Poly1305). Podle výkonu Bcachefs předčí Btrfs a další souborové systémy na bázi mechanizmu Copy-on-Write a vykazuje rychlost blízkou Ext4 a XFS.
Hlavní výhodou Bcachefs je podpora vícestupňového připojení úložišť, kdy se úložiště skládá z několika vrstev — k dolní vrstvě se připojují nejrychlejší úložiště (SSD), která slouží k ukládání často používaných dat do cache, zatímco horní vrstvu tvoří prostornější a levnější disky, které poskytují úložiště pro méně žádaná data. Mezi vrstvami se může používat cache s odloženým zápisem (writeback). Úložiště lze dynamicky přidávat a odpojovat od oddílu, aniž by bylo nutné zastavit používání souborového systému (data se automaticky migrují).
Zdroj: opennet.ru
