The Grow_continue grows all volumes in the container that are in container reshape state, therefore we need to check blocking bits of all volumes in container, not just the one that is pointed by the command line argument. Signed-off-by: Marcin Labun <marcin.labun@xxxxxxxxx> --- Grow.c | 13 +++++++------ 1 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Grow.c b/Grow.c index e7fd7c4..65aa851 100644 --- a/Grow.c +++ b/Grow.c @@ -3769,18 +3769,19 @@ int Grow_continue_command(char *devname, int fd, goto Grow_continue_command_exit; } - cc = st->ss->container_content(st, subarray); + cc = st->ss->container_content(st, NULL); for (content = cc; content ; content = content->next) { char *array; int allow_reshape = 1; if (content->reshape_active == 0) continue; - /* The decision about array or container wide - * reshape is taken in Grow_continue based - * content->reshape_active state, therefore we - * need to check_reshape based on - * reshape_active and subarray name + /* The Grow_continue grows all volumes + * in the container that are in container + * reshape state, + * therefore we need to check blocking bits + * of all volumes in container, not just the + * one that is pointed by command line argument. */ if (content->array.state & (1<<MD_SB_BLOCK_VOLUME)) allow_reshape = 0; -- 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