Equivalent of `btrfs send` and `btrfs recv` for bcachefs

I’m using a setup I consider to be rather fragile and prone to failure involving LUKS, LVM, btrfs, and bcache. I have used btrfs for a long time, and have never experienced any significant issues with it. But, it doesn’t support caching, nor does it handle erasure coding (i.e. RAID5 or 6 style redundancy).

I consider it prone to failure especially when trying to install a new version of my distribution, since it involves a setup that I suspect is very much an outlier, and not accounted for in any kind of testing for upgrade procedures, or any kind of installation of a new system while preserving most of the data from the old one.

I would like to move to bcachefs, but I can’t tell whether or not it supports, or intends to support anything like btrfs send and btrfs recv. These two commands are critical to my incremental backup strategy.

Does it support anything like this now in November of 2023? Will it ever?

Asked By: Omnifarious


The roadmap for bcachefs mentions it:

Send and receive:

Like ZFS and btrfs have, we need it to. This will give us the ability
to efficiently synchronize filesystems over a network for
backup/redundancy purposes – much more efficient than rsync, and it’ll
pair well with snapshots.

Since all metadata exists as btree keys, this won’t be a huge amount
of work to implement: we need a network protocol, and then we need to
scan and send for keys newer than version number X (if making use of
key version numbers), or keys newer than a given snapshot ID.

Since it’s in the roadmap, this means it’s not implemented yet, but there are plans for it in the future (no date).

Answered By: A.B