On Tue, Dec 22 2015, Xiao Ni wrote: > 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@xxxxxxxxxx> > --- > Grow.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/Grow.c b/Grow.c > index 6dfb9c9..db4daa8 100755 > --- a/Grow.c > +++ b/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 applied, thanks. NeilBrown
Attachment:
signature.asc
Description: PGP signature