Bcachefs Gets "Bad@$$" Snapshots, Still Aiming For Mainline Linux Kernel Integration
Bcachefs continues making progress with ambitions still to be mainlined in the kernel and being capable of competing ultimately with the likes of Btrfs and XFS. Today's mailing list post offers a fresh look at the current happenings around this file-system. The core B-Tree code has been undergoing improvements with interior nodes now journalled, updating parent B-Tree node pointers on every B-Tree write, and other optimizations.
Some of the other feature work includes addressing all known bugs in the reflink code and completing the snapshots code and that the Bcachefs snapshots design is "badass." Kent went on to add, "I've successfully gotten up to a million snapshots (only changing a single file in each snapshot) in a VM. They scale. Fsck scales. Take as many snapshots as you want. Go wild...About a year of my life went into snapshots and I'm _really_ proud with how they turned out - in terms of algorithmic complexity, snapshots has been the biggest single feature tackled and when I started there were a lot of big unknowns that I honestly wasn't sure I was going to find solutions for. Still waiting on more people to start really testing with them and banging on them (and we do still need more tests written) but so far shaking things out has gone really smoothly (more smoothly than erasure coding, that's for sure!)"
Meanwhile all alloc information is updated fully transactionally to provide for faster mount times and improved recovery.
Still on the agenda is working on AES encryption support, among other work. Bcachefs is also going to start pursuing mainlining of the file-system in the Linux kernel but first ushering it through the public review process. The intent is also for Bcachefs once mainlined to be marked explicitly as "EXPERIMENTAL" for a while as some on-disk format changes may still be come. Further scalability improvements are also still planned along with the ability to carry out online fsck'ing.
More details for those interested via this mailing list post.