diff options
-rw-r--r-- | fs/btrfs/volumes.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c index 9ff454df6756..6b9cff42265d 100644 --- a/fs/btrfs/volumes.c +++ b/fs/btrfs/volumes.c | |||
@@ -3235,6 +3235,11 @@ int btrfs_balance(struct btrfs_balance_control *bctl, | |||
3235 | update_ioctl_balance_args(fs_info, 0, bargs); | 3235 | update_ioctl_balance_args(fs_info, 0, bargs); |
3236 | } | 3236 | } |
3237 | 3237 | ||
3238 | if ((ret && ret != -ECANCELED && ret != -ENOSPC) || | ||
3239 | balance_need_close(fs_info)) { | ||
3240 | __cancel_balance(fs_info); | ||
3241 | } | ||
3242 | |||
3238 | wake_up(&fs_info->balance_wait_q); | 3243 | wake_up(&fs_info->balance_wait_q); |
3239 | 3244 | ||
3240 | return ret; | 3245 | return ret; |