XaiJu
bcachefs
bcachefs

patreon


Erasure coding is coming!

First off, sorry for the slow progress lately - I've been dealing with some health issues that have been making it incredibly difficult to work. But, the good news is that we may have finally figured out what's going on and *fingers crossed* aforementioned issues seem to finally, slowly be getting better.

The good news is though - with the work I have managed to get done lately, erasure coding is finally seeing some major progress, and when it's done it's going to be _slick_. You'll be able to flip on erasure coding at runtime just like any of the other IO path options - either filesystem wide, or just for a file/directory via the xattr interface.

So far it's plumbed through to the IO path, so the write path is creating stripes and the read recovery path is plumbed through too, and working - on IO error we'll retry and cycle through all the different options we have for reading an extent, trying different replicas (if there are any) and then falling back to reconstruct reads. And, I've got just enough of the disk space accounting stuff done so that stripes can be reclaimed when they're emptied out - which means the basic replication test now passes with erasure coding enabled.

Still lots of little things left but it's over halfway done - and it really is looking slick. I'm excited to get to the point where you people can start playing with it :)

Comments

Can't wait to test it.

Wilson Li

Really excited to hear this! I'm still feeling burned by Btrfs's failure on RAID5/6, so this'll be a nice bullet point; hopefully people will take notice!

Gordon Dexter


More Creators