summaryrefslogtreecommitdiff
path: root/fs/btrfs/volumes.c
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2018-06-02 01:13:34 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2018-06-02 01:13:34 -0700
commitfd95dadf54bf08e910a4cad0bbce8d25e8813429 (patch)
tree7824cada0e10c6bb934c59b3b8a3aeb09b1e812f /fs/btrfs/volumes.c
parent33b2567cd52c95ad3b33578aaa200d53aa4d4dbc (diff)
parent9848856fe15cdad6b64b5883bb4c30528b358f7d (diff)
Merge "Merge android-4.4.133 (3f51ea2) into msm-4.4"
Diffstat (limited to 'fs/btrfs/volumes.c')
-rw-r--r--fs/btrfs/volumes.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index 6d874b1cd53c..ed75d70b4bc2 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -3850,6 +3850,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);
}