Кент Оверстрит официально объявил о выходе файловой системы Bcachefs 1.38.6 и снятии с проекта статуса экспериментальной разработки. По словам разработчика, количество сообщений о критических сбоях значительно снизилось, а текущие баги больше не представляют серьезной угрозы для стабильности.
Актуальный релиз включает два ключевых компонента: модуль bcachefs-kernel-dkms для интеграции с ядром Linux (поддерживаются версии от 6.16 и выше) и набор утилит bcachefs-tools для управления файловой системой из пользовательского пространства. Готовые сборки уже доступны для Debian, Ubuntu и Arch Linux, в ближайшее время ожидается поддержка Fedora, openSUSE и NixOS.
Оптимизация и производительность
Версия 1.38.6 сосредоточена на повышении быстродействия без изменения формата дисковых структур. В код внесено порядка 200 исправлений, среди которых: оптимизация работы с деревьями (btree), переработка системы логирования и устранение конкурентных блокировок (lock contention). Процесс сброса состояния журнала (journal flush) теперь полностью избавлен от блокировок, что положительно сказывается на общей отзывчивости системы.
Тесты на 48-ядерном процессоре AMD показали впечатляющие результаты: при запуске 48 клиентов dbench файловая система достигла пропускной способности 16,5 ГБ/с, что превосходит показатели XFS (16 ГБ/с). В планах разработчиков — внедрение патчей, которые поднимут этот показатель до 19 ГБ/с. В тестах fio (случайная запись блоками по 4 КБ) Bcachefs демонстрирует 700 операций в секунду. Хотя XFS показывает в этом сценарии миллион операций, стоит учитывать, что Bcachefs выполняет полный цикл CoW (Copy-on-Write) с проверкой контрольных сумм в реальном времени.
Новые возможности и развитие инфраструктуры
Среди значимых изменений стоит отметить:
- Поддержка подключения до 255 устройств к одной файловой системе.
- Перевод CI-инфраструктуры на автоматизированное тестирование сборок DKMS.
- Развитие механизмов работы с многоуровневыми накопителями и пулами дисков.
Активно идет процесс перевода кодовой базы на язык Rust. На данный момент на Rust уже переписаны утилиты bcachefs-tools, включая API для работы с btree. В будущих обновлениях планируется интеграция Rust-обвязок в модуль ядра, что должно повысить надежность и упростить проведение формальной верификации кода.
Функциональные особенности Bcachefs
Проект позиционируется как конкурент Btrfs и ZFS, сочетающий их продвинутые возможности с производительностью уровня XFS. Ключевые возможности системы:
- Многоуровневое хранение данных (тирринг) с автоматическим распределением между SSD и HDD.
- Поддержка RAID-конфигураций (1/10) и прозрачное сжатие (LZ4, gzip, ZSTD).
- Использование шифрования ChaCha20 и Poly1305.
- Механизм reconcile (rebalance_v2) для гибкой ребалансировки данных и метаданных при изменении состава пула накопителей.
- Коды коррекции ошибок на базе кодирования Рида-Соломона, позволяющие автоматически восстанавливать поврежденные данные по аналогии с RAID 5/6.






