From: Naohiro Aota Date: Tue, 25 Feb 2020 03:56:25 +0000 (+0900) Subject: btrfs: skip LOOP_NO_EMPTY_SIZE if not clustered allocation X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=45d8e033b2354e74a3f80cffec0b0b1aa099f4c7;p=linux.git btrfs: skip LOOP_NO_EMPTY_SIZE if not clustered allocation LOOP_NO_EMPTY_SIZE is solely dedicated for clustered allocation. So, we can skip this stage and give up the allocation. Signed-off-by: Naohiro Aota Signed-off-by: David Sterba --- diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index bcffb96d87c60..1d895df67b3b6 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c @@ -3835,6 +3835,9 @@ static int find_free_extent_update_loop(struct btrfs_fs_info *fs_info, } if (ffe_ctl->loop == LOOP_NO_EMPTY_SIZE) { + if (ffe_ctl->policy != BTRFS_EXTENT_ALLOC_CLUSTERED) + return -ENOSPC; + /* * Don't loop again if we already have no empty_size and * no empty_cluster.