|
@@ -4052,6 +4052,15 @@ int btrfs_resume_balance_async(struct btrfs_fs_info *fs_info)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+ /*
|
|
|
+ * A ro->rw remount sequence should continue with the paused balance
|
|
|
+ * regardless of who pauses it, system or the user as of now, so set
|
|
|
+ * the resume flag.
|
|
|
+ */
|
|
|
+ spin_lock(&fs_info->balance_lock);
|
|
|
+ fs_info->balance_ctl->flags |= BTRFS_BALANCE_RESUME;
|
|
|
+ spin_unlock(&fs_info->balance_lock);
|
|
|
+
|
|
|
tsk = kthread_run(balance_kthread, fs_info, "btrfs-balance");
|
|
|
return PTR_ERR_OR_ZERO(tsk);
|
|
|
}
|