Grow: don't let analyse_change see new level from metadata.
This is a bit of a hack - probably analyse change needs to be re-written a bit to handle this properly. However when the metadata deduced the intermediate state for a reshaping array, the 'new_level' it sets should not be used to interpret the 'delta_disks' number. So in that case, hide the new_level while calling analyse_change. Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
parent
eff4954d9a
commit
3cb2aed250
8
Grow.c
8
Grow.c
|
@ -1649,7 +1649,13 @@ static int reshape_array(char *container, int fd, char *devname,
|
|||
int done;
|
||||
struct mdinfo *sra = NULL;
|
||||
|
||||
msg = analyse_change(info, &reshape);
|
||||
if (info->reshape_active) {
|
||||
int new_level = info->new_level;
|
||||
info->new_level = UnSet;
|
||||
msg = analyse_change(info, &reshape);
|
||||
info->new_level = new_level;
|
||||
} else
|
||||
msg = analyse_change(info, &reshape);
|
||||
if (msg) {
|
||||
fprintf(stderr, Name ": %s\n", msg);
|
||||
goto release;
|
||||
|
|
Loading…
Reference in New Issue