On Tue, Dec 11, 2018 at 12:08:23PM +0200, Nikolay Borisov wrote: > > > On 3.12.18 г. 17:24 ч., Josef Bacik wrote: > > With my change to no longer take into account the global reserve for > > metadata allocation chunks we have this side-effect for mixed block > > group fs'es where we are no longer allocating enough chunks for the > > data/metadata requirements. To deal with this add a ALLOC_CHUNK_FORCE > > step to the flushing state machine. This will only get used if we've > > already made a full loop through the flushing machinery and tried > > committing the transaction. If we have then we can try and force a > > chunk allocation since we likely need it to make progress. This > > resolves the issues I was seeing with the mixed bg tests in xfstests > > with my previous patch. > > > > Reviewed-by: Nikolay Borisov <nborisov@xxxxxxxx> > > Signed-off-by: Josef Bacik <josef@xxxxxxxxxxxxxx> > > Imo this and the previous patch should be squashed into one. I don't see why, separate patches also look good to me. One changes the logic regarding global reserve and the other fixes behaviour regarding mixed block groups. Possibly, if the fix can be applied first and then the overall logic changed, that's still 2 patches but there's no intermediate state with the bug. As long as it's not something really disasterous or if the "one logical thing per patch" is unnecessarily split to 2 patches, I'm willing to take more patches. This is a bit of a grey zone so if I'm missing something regarding the split, please let me know.
