On Tue, Dec 11, 2018 at 06:51:34PM +0200, Nikolay Borisov wrote: > > > On 11.12.18 г. 18:47 ч., David Sterba wrote: > > 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 <nbori...@suse.com> > >>> Signed-off-by: Josef Bacik <jo...@toxicpanda.com> > >> > >> 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. > > As far as I understand this deficient behavior is a direct result of the > previous patch. In essnse previous patch fixes something and introduces > new problem which is subsequently fixed by this patch. The way I see it > if both patches are squashed the change log should be : > > "I do [explanation of the first change]. However this introduces > [explain bug from patch 2] so fix it by [explain fix from 2nd patch]"
Ok, patches merged.