XaiJu
bcachefs
bcachefs

patreon


Your irregular status update: upstreaming, growing the team, and a funding situation update

So, the upstreaming process has been rocky - but bcachefs is in linux-next! Fingers crossed for 6.7. Since being merged into the linux-next tree we've also been getting a lot more assorted bugfixes and bugreports, mostly from static analysis - every bit helps.

Some other recent work:

 - Logged operations

Some operations are too big and complicated to be done in a single btree transaction, but we still want them to be atomic in the event of a crash. We now have code for logging the state of these more complicated operations, and finishing them in recovery if we crash. This is now being used for truncate, as well as finsert/fcollapse (where we shift extents in a file up or down).

This was a long-planned feature, but we needed it now because of another recent feature - the deleted inodes btree, which lets us avoid having to scan for deleted inodes after an unclean shutdown. But the "scan the inodes btree" pass was also how truncate atomicity was implemented - we had to scan for inodes with the I_SIZE_DIRTY flag set. With that scan removed, it was finally time to add logged operations, which I expect to come in handy for other things in the future.

- Patches for case-insensitive directory support have been posted (from Joshua Ashton)

We're still bikeshedding the design a bit, but expect this to land soon - this will mean better support for Steam games!

- Filesystem freezing was just merged (courtesy of Brian Foster)

Handy dandy low level filesystem feature, useful for taking LVM snapshots as well as enabling more tests for various corner cases

 - We have a new apprentice/team member, Hunter Shaffer

Hunter's been very quickly getting up to speed on the code, and we've been working closely together. The website is starting to see some badly-needed updates, and we'll be posting soon about the superblock members_v2 section he's working on, as well as the configuration-less tiering that's going to enable - very cool stuff.

 - Lastly, the funding situation

The company that's been funding bcachefs for the past 6 years has, unfortunately, been hit by a business downturn - they've been affected by the strikes in the media production industry. As such, I'm now having to look for new funding.

This came pretty unexpectedly, and puts us in a bit of a bind; with the addition of Hunter (who's already doing great work), I'm stretched thin, without much of a buffer.

So: if there's any other companies out there that would be willing to fund bcachefs (possibly with features or support in mind), now would be a perfect time to give me a shout. As well, getting the Patreon donation levels up would _greatly_ improve my peace of mind.

I just want to write code that people will enjoy using, and share what I know and create, and keep doing what I love. And, with the merge finally, hopefully, right around the corner - exciting times are ahead, I think, if we can get past this hiccup.

Cheers,

Kent

Comments

I've started migrating one of my large but less critical filesystems from btrfs over to bcachefs, and the most amusing thing I've noticed so far is that bcachefs SOUNDS better on HDDs. I have a 32G foreground on NVMe with 3TB of background with zstd compression on HDD, and I can tell just from the noise alone that the hard drive is doing much less seeking than it was for similar large copies to btrfs. Since this is on a server that sits in my living room, noise is a big deal to me, and was part of the reason I was excited for bcachefs. P.S., I would love a feature to best-effort schedule when background writes take place so normal use touches the background drives as little as possible (for both noise and power reasons). I know you've got a lot on your plate currently with upstreaming and follow up work, but maybe one for the backlog 😂😅

Jaye Martindell

Just updated to kernel 6.7 via the default `linux` package on Arch, and formatted a drive with bcachefs from a mainline kernel for the first time! Incredible to be here for this moment after following your work for years 😄

Jaye Martindell

is what version linux-next have bcachefs? I on chaotic-aur install linux-next-git 20230927.r0.g18030226a48d-1 cannot use bcachefs> but, then i run linux-bcachefs-git can use bcachefs

iHad 169


More Creators