Grow: don't allow to enable PPL when reshape is in progress

Don't allow to enable PPL consistency policy when reshape is in progress.
Current PPL implementation doesn't work when reshape is taking place.

Signed-off-by: Tomasz Majchrzak <tomasz.majchrzak@intel.com>
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
This commit is contained in:
Tomasz Majchrzak 2017-06-09 16:20:19 +02:00 committed by Jes Sorensen
parent b208f817ec
commit 922a58292f
1 changed files with 12 additions and 0 deletions

12
Grow.c
View File

@ -530,6 +530,7 @@ int Grow_consistency_policy(char *devname, int fd, struct context *c, struct sha
char *subarray = NULL;
int ret = 0;
char container_dev[PATH_MAX];
char buf[20];
if (s->consistency_policy != CONSISTENCY_POLICY_RESYNC &&
s->consistency_policy != CONSISTENCY_POLICY_PPL) {
@ -577,6 +578,17 @@ int Grow_consistency_policy(char *devname, int fd, struct context *c, struct sha
goto free_info;
}
if (s->consistency_policy == CONSISTENCY_POLICY_PPL) {
if (sysfs_get_str(sra, NULL, "sync_action", buf, 20) <= 0) {
ret = 1;
goto free_info;
} else if (strcmp(buf, "reshape\n") == 0) {
pr_err("PPL cannot be enabled when reshape is in progress\n");
ret = 1;
goto free_info;
}
}
if (subarray) {
char *update;