On 1.02.20 г. 0:36 ч., Josef Bacik wrote: > Data space flushing currently unconditionally commits the transaction > twice in a row, and the last time it checks if there's enough pinned > extents to satisfy it's reservation before deciding to commit the > transaction for the 3rd and final time. > > Encode this logic into may_commit_transaction(). In the next patch we This is incorrect since the next patch simply introduces some states. So this patch and the next one should be transposed. I guess even David can do this but he needs to be explicitly aware of this. > will pass in U64_MAX for bytes_needed the first two times, and the final > time we will pass in the actual bytes we need so the normal logic will > apply. > > This patch exists soley to make the logical changes I will make to the > flushing state machine separate to make it easier to bisect any > performance related regressions. > > Signed-off-by: Josef Bacik <josef@xxxxxxxxxxxxxx> Other than the nit in the changelog this LGTM: Reviewed-by: Nikolay Borisov <nborisov@xxxxxxxx> <snip>
