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 -- 2.4.3 -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html