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; |
