Кент Оверстрит (Kent Overstreet) публикува версия 1.37.0 на файловата система Bcachefs. Версията обхваща два пакета: 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
