Bcachefs Linux File-System Sent Out For Review With Exciting Feature Progress
Bcachefs has been developed for a half-decade now as the Linux file-system born out of the block cache "bcache" kernel code. Kent Overstreet continues spearheading the work and while it's been quiet in recent months today he sent out a new round of Bcachefs patches for review on the Linux kernel mailing list.
Bcachefs is a copy-on-write file-system aiming to compete with the likes of ZFS and Btrfs with features being worked on like Zstd/LZ4 compression, native encryption, advanced checksumming, support for multiple block devices RAID, and more.
The on-disk format for Bcachefs has been firmed up for a while and last year saw core feature work being completed. Patches were sent out for review then albeit never mainlined while today the latest Bcachefs patches are out on the LKML.
"Here's where bcachefs is at and what I'd like to get merged," began the patch series by Overstreet. Included as part of that are a number of other changes besides the core Bcachefs code.
Since the prior kernel mailing list posting, there has been many code changes, more features being completed like the erasure coding, btree key cache handling, inline data extents, and other improvements as well as "many, many bug fixes."
Still to be completed is scrubbing and repairing of replicated data, repair support for the erasure coding, fsck improvements, and more documentation.
Of the Bcachefs functionality, Overstreet commented, "I think erasure coding is going to to be bcachefs's killer feature (or at least one of them), and I'm pretty excited about it: it's a completely new approach unlike ZFS and btrfs, no write hole (we don't update existing stripes in place) and we don't have to fragment writes either like ZFS does. Add to that the caching that we already do and it's turning into a pretty amazing tool for managing a whole bunch of mixed storage." More details on the erasure coding via this post.
The Bcachefs code out for review in its latest form can be found via this Git branch. We'll see if Bcachefs reaches the mainline Linux kernel in 2021 for taking on the likes of Btrfs and the out-of-tree OpenZFS.