From: Josef Bacik Date: Fri, 9 Oct 2020 13:28:24 +0000 (-0400) Subject: btrfs: check reclaim_size in need_preemptive_reclaim X-Git-Tag: v5.12-rc1~165^2~79 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f205edf77315a33eee82a7615fb57e9297957fe9;p=thirdparty%2Fkernel%2Fstable.git btrfs: check reclaim_size in need_preemptive_reclaim If we're flushing space for tickets then we have space_info->reclaim_size set and we do not need to do background reclaim. Reviewed-by: Nikolay Borisov Signed-off-by: Josef Bacik Signed-off-by: David Sterba --- diff --git a/fs/btrfs/space-info.c b/fs/btrfs/space-info.c index effb9b73a4187..9f30d6837eb5b 100644 --- a/fs/btrfs/space-info.c +++ b/fs/btrfs/space-info.c @@ -818,6 +818,13 @@ static bool need_preemptive_reclaim(struct btrfs_fs_info *fs_info, if ((space_info->bytes_used + space_info->bytes_reserved) >= thresh) return false; + /* + * We have tickets queued, bail so we don't compete with the async + * flushers. + */ + if (space_info->reclaim_size) + return false; + if (!btrfs_calc_reclaim_metadata_size(fs_info, space_info)) return false;