Re: btrfs vs bcachefs
"> I'm slightly confused (or better yet -uninformed) - what are the biggest benefits oh using bcachefs over btrfs?"
This is complex and depends on what features you want to use. The only real answer to this is to spend time reading up on them, but much of the info found by search engines is out of date. Bcachefs promises to do everything btrfs was supposed to do, and more, but I think it's still early days.
"1. It cannot reliably report free space. In other words, the `df -h` command lies to you. This means software can't check if it can safely do something without risking filling the volume."
This is annoying. btrfs own tools can tell you the answer, but may require knowledge of the filesystem architecture to interperet the results.
"2. Any attempt to write to a full Btrfs volume _will_ corrupt the volume."
I'm sure I read somewhere that's no longer the case, that it will reserve some space for key filesystem operations. Copy-on-write means that any operation (even file delete) needs free space for the writes. It is worth noting that btrfs allows you to use a greater percentage of the available space than ext4, because inodes are not allocated in advance. I have a btrfs filesystem that's currently 99.9% full, it's got a bit slow. Any filesystem will be troublesome when near full.
"3. There is no working `fsck`. The repair tools do not work. SUSE relies on Btrfs and SUSE's docs say, with a bright red WARNING heading, "do not attempt to use `btrfs-repair`.""
I think the claim is that the nature of the fs is such that it cannot become inconsistent, and therefore fsck is not needed. This does depends on writes being made in the correct order, so beware of writeback caching. I have never had a problem.
There is another nasty gotcha I've read about. If you have a 2 disk raid1, and one disk fails, you only get one opportunity to mount the degraded filesystem as read/write, so you must replace the failed device during this time because that requires writes. Future mounts of the degraded filesystem will be read only, because it is unable to satisfy the raid1 write profile with a single disk. So no using of degraded fs whilst you await delivery of a replacement disk, unlike mdadm raid.