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. > --- > fs/btrfs/ctree.h | 3 ++- > fs/btrfs/extent-tree.c | 18 +++++++++++++++++- > include/trace/events/btrfs.h | 1 + > 3 files changed, 20 insertions(+), 2 deletions(-) > <snip>
