|
@@ -3195,6 +3195,11 @@ int btrfs_balance(struct btrfs_balance_control *bctl,
|
|
|
mutex_lock(&fs_info->balance_mutex);
|
|
|
atomic_dec(&fs_info->balance_running);
|
|
|
|
|
|
+ if (bctl->sys.flags & BTRFS_BALANCE_ARGS_CONVERT) {
|
|
|
+ fs_info->num_tolerated_disk_barrier_failures =
|
|
|
+ btrfs_calc_num_tolerated_disk_barrier_failures(fs_info);
|
|
|
+ }
|
|
|
+
|
|
|
if (bargs) {
|
|
|
memset(bargs, 0, sizeof(*bargs));
|
|
|
update_ioctl_balance_args(fs_info, 0, bargs);
|
|
@@ -3205,11 +3210,6 @@ int btrfs_balance(struct btrfs_balance_control *bctl,
|
|
|
__cancel_balance(fs_info);
|
|
|
}
|
|
|
|
|
|
- if (bctl->sys.flags & BTRFS_BALANCE_ARGS_CONVERT) {
|
|
|
- fs_info->num_tolerated_disk_barrier_failures =
|
|
|
- btrfs_calc_num_tolerated_disk_barrier_failures(fs_info);
|
|
|
- }
|
|
|
-
|
|
|
wake_up(&fs_info->balance_wait_q);
|
|
|
|
|
|
return ret;
|