[LSF/MM/BPF TOPIC] bcachefs

From: Kent Overstreet
Date: Wed Feb 16 2022 - 02:44:59 EST


Hi, I'd like to come give an update on bcachefs.

It's been a long road going from bcache, and starting with what was essentially
a prototype for a new filesystem, and turning it into a real (scalable, robust,
full featured) filesystem.

Over the past few years, we've added reflink, subvolumes and snapshots. I'm
particularly proud of how snapshots turned out - it's roughly a versioned btree
approach, and it's scalable and fast, even fsck is O(number of keys of
metadata), not O(number of snapshots). I've got it up to a million snapshots in
a test VM.

The bigger thing though is that the core fundamentals are pretty close to done -
replacing all the "periodically walk the world" algorigthms with real persistent
data structures that scale. A big allocator rewrite is about to land, and after
that will be backpointers - to fix copygc scanning.

Things are in flux lately with all the allocator work, but I'm hoping once that
settles down and I've worked through the backlog of bug reports and performance
regressions, we might be ready for upstreaming sometime this year...