Grow: Frozen array can't be idle

When array is frozen but there is no recovery/reshape in mdstat,
check_idle() will not return error but grow countinue can still working.

Check is array frozen. Do not use sysfs sync_action parameter because it
doesn't exist for Raid0, simply check metadata_version in mdstat.

Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@intel.com>
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
This commit is contained in:
Mariusz Tkaczyk 2018-08-01 15:29:31 +02:00 committed by Jes Sorensen
parent 18552ef041
commit 84d88fd885
1 changed files with 2 additions and 1 deletions

3
Grow.c
View File

@ -754,7 +754,8 @@ static int check_idle(struct supertype *st)
for (e = ent ; e; e = e->next) {
if (!is_container_member(e, container))
continue;
if (e->percent >= 0) {
/* frozen array is not idle*/
if (e->percent >= 0 || e->metadata_version[9] == '-') {
is_idle = 0;
break;
}