diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c index a4edb821990f7..008ba7efc4bea 100644 --- a/fs/btrfs/relocation.c +++ b/fs/btrfs/relocation.c @@ -4232,6 +4232,10 @@ static noinline_for_stack int relocate_block_group(struct reloc_control *rc) break; } } + if (btrfs_should_cancel_balance(fs_info)) { + err = -ECANCELED; + break; + } } if (trans && progress && err == -ENOSPC) { ret = btrfs_force_chunk_alloc(trans, rc->block_group->flags);