Кент Оверстрит публикува изданието на файловата система Bcachefs 1.37.0. Изданието обхваща два пакета: bcachefs-kernel-dkms с модул на ядрото, събираем чрез системата DKMS (Dynamic Kernel Module Support), и bcachefs-tools с изпълнима в потребителското пространство утилита bcachefs, която реализира команди за създаване (mkfs), монтиране, възстановяване и проверка на файловата система. Пакетите са събрани за Debian, Ubuntu, Fedora, openSUSE, NixOS и Arch Linux. DKMS-модулът поддържа работа с ядра на Linux, започващи от 6.16.
В новата версия:
- Стабилизирана и обявена за готова за широко използване поддръжка на кодове за корекция на грешки, позволяващи възстановяване на повредени данни по аналогия с RAID 5/6. Реализацията е базирана на кодиране с Рид-Соломон, който може да поправи до N грешки в страйпа (stripe) при наличие на N излишни блока. Осигурено е автоматично възстановяване на деградирани стрипове. Добавена е възможност за прилагане на кодове за възстановяване в конфигурации с устройства с различен размер.
- Добавена е поддръжка на разработваното ядро на Linux 7.0.
- Реализирани са нови команди "subvolume list" за извеждане на подстраниците с филтриране и сортиране; "subvolume list-snapshots" за показване на снимките под формата на дърво; "subvolume reflink-option-propagate" за прилагане на параметри на вход-изхода на файла, като компресия, контролна сума, брой реплики и списък на целевите устройства, към екстентите на файла.
- Стабилизирана е операцията по пренавиване (rewind) на журнала.
- Осигурено е автоматично възстановяване при използване на устройства с некоректна поддръжка на команди за нулиране на кешираните операции по писане на устройството (flush и FUA).
- Ускорено е възстановяването след неправилно затваряне.
- Повишена е производителността на файловата система, обхващаща няколко устройства.
- Изпълнимите в потребителското пространство утилити bcachefs са пренаписани на Rust. В бъдеще се планира пренаписване на Rust и на компонентите на файловата система, работещи на ниво ядро. Започната е работа по използването на инструмента Verus за формална верификация на кода на Rust.
Проектът Bcachefs развива файлова система, целяща да съчетае разширената функционалност, характерна за Btrfs и ZFS, с нивото на производителност, надеждност и мащабируемост, присъща за XFS. Bcachefs поддържа възможности като включване на няколко устройства в един дял, многослойни разположения на носители (долният слой с често използвани данни на базата на бързи SSD, а горният слой с по-малко търсени данни от твърди дискове), репликация (RAID 1/10), кеширане, прозрачно компресиране на данни (режими LZ4, gzip и ZSTD), моментни снимки (снапшоти), проверка на целостта с контролни суми, кодове за корекция на грешки, съхранение на информация в криптиран вид (използват се ChaCha20 и Poly1305).
Източник: opennet.ru
