Check and remove bitmap first when reshape to raid0
If reshape one raid device with bitmap to raid0, the reshape progress will start. But it'll fail and lose some components. So it should remove bitmap first. Signed-off-by: Xiao Ni <xni@redhat.com> Signed-off-by: NeilBrown <neilb@suse.com>
This commit is contained in:
parent
38c2e05b6a
commit
f7cf9699dc
9
Grow.c
9
Grow.c
|
@ -1590,6 +1590,15 @@ int Grow_reshape(char *devname, int fd,
|
|||
pr_err("Cannot increase raid-disks on this array beyond %d\n", st->max_devs);
|
||||
return 1;
|
||||
}
|
||||
if (s->level == 0 &&
|
||||
(array.state & (1<<MD_SB_BITMAP_PRESENT)) &&
|
||||
!(array.state & (1<<MD_SB_CLUSTERED))) {
|
||||
array.state &= ~(1<<MD_SB_BITMAP_PRESENT);
|
||||
if (ioctl(fd, SET_ARRAY_INFO, &array)!= 0) {
|
||||
pr_err("failed to remove internal bitmap.\n");
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
/* in the external case we need to check that the requested reshape is
|
||||
* supported, and perform an initial check that the container holds the
|
||||
|
|
Loading…
Reference in New Issue