XaiJu
bcachefs
bcachefs

patreon


Tiering should now be working - testing requested

Tiering should finally be working with the last big batch of fixes I pushed.

Chris Halse Rogers (RAOF in the #bcache IRC channel) has been testing it. He has been seeing an intermittent deadlock while copying large amounts of data, which may or may not be tiering related: if anyone else hits it, I'd really appreciate if you could grab backtraces. Do a "echo t > /proc/sysrq-trigger" and then grab the full dmesg log - that should be enough to figure out what the deadlock is.

I haven't gotten to device add/remove yet, don't try it - you'll need to create a new filesystem:

bcache format --tier 0 <SSD> --tier 1 <HDD>

Also, if you've already been playing with tiering, I highly recommend you create a new filesystem. One of the bugs was an issue with which pointers are considered dirty - in an extent with a tier 0 pointer and a tier 1 pointer, the tier 0 pointer was being considered dirty instead of the tier 1 pointer (with predictably bad consequences; tier 0 would fill up because the tiering thread wasn't actually making anything on tier 0 clean). On a fixed kernel, as extents are migrated it'll end up fixing which pointers are considered dirty which may or may not trigger assertions as which pointers are considered dirty changes.

Comments

FWIW, I *didn't* create a new filesystem, and nothing has blown up yet. With the obvious exception of the intermittent deadlocks. :)


More Creators