Линус Торвальдс утвердил запрос на включение файловой системы Bcachefs в основной состав ядра Linux и добавил реализацию Bcachefs в репозиторий, в котором развивается ветка ядра 6.7, релиз которой ожидается в начале января. Добавленный в ядро патч включает около 95 тысяч строк кода. Проект уже более 10 лет развивает Кент Оверстрит (Kent Overstreet), который также разработал входящую в состав ядра систему кэширования блочных устройств на SSD-накопителях BCache.
Попытки продвижения Bcachefs в основной состав ядра начались в 2020 году, после чего ещё почти три года потребовалось на устранение замечаний и недоработок, выявленных после рецензирования. Весной этого года был предложен обновлённый набор патчей, который несколько раз отклонялся, но в, конечном счёте, в сентябре был принят в ветку linux-next, предназначенную для тестирования возможностей для будущих выпусков ядра Linux.
Bcachefs развивается с использованием технологий, уже опробованных при разработке блочного устройства Bcache, предназначенного для кэширования доступа к медленным жёстким дискам на быстрых SSD-накопителях (входит в ядро, начиная с выпуска 3.10).
В Bcachefs используется механизм Copy-on-Write (COW), при котором изменения не приводят к перезаписи данных – новое состояние записывается в новое место, после чего меняется указатель актуального состояния.
В Bcachefs предпринята попытка добиться сочетания уровня производительности, надёжности и масштабируемости, свойственного XFS, и расширенной функциональности, имеющейся в Btrfs и ZFS, такой как включение в раздел нескольких устройств, многослойные раскладки накопителей, репликация (RAID 1/10), кэширование, прозрачное сжатие данных (режимы LZ4, gzip и ZSTD), срезы состояния (снапшоты), верификация целостности по контрольным суммам, возможность хранения кодов коррекции ошибок Рида—Соломона (RAID 5/6), хранение информации в зашифрованном виде (используются ChaCha20 и Poly1305). По производительности Bcachefs опережает Btrfs и другие ФС на базе механизма Copy-on-Write, и демонстрирует скорость работы, близкую к Ext4 и XFS.
Особенностью Bcachefs является поддержка многослойного подключения накопителей, при котором хранилище компонуется из нескольких слоёв – к нижнему слою подключаются наиболее быстрые накопители (SSD), которые используются для кэширования часто используемых данных, а верхний слой образуют более ёмкие и дешёвые диски, обеспечивающие хранение менее востребованных данных. Между слоями может применяться кэширование в режиме отложенной записи (writeback). Накопители можно динамически добавлять и отсоединять от раздела без остановки использования файловой системы (данные мигрируют автоматически).