From 1ca90aa6484a6f5d4fdd6122ad1d2015209bd8e0 Mon Sep 17 00:00:00 2001 From: Adam Kwolek Date: Thu, 9 Feb 2012 12:38:15 +1100 Subject: [PATCH 12/12] FIX: Do not try to (continue) reshape using inactive array When one of arrays is inactive, do not try to continue reshape on this array. Just skip it. Signed-off-by: Adam Kwolek Signed-off-by: NeilBrown --- Grow.c | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-) diff --git a/Grow.c b/Grow.c index 61adefa..53a7cad 100644 --- a/Grow.c +++ b/Grow.c @@ -2626,6 +2626,13 @@ int reshape_container(char *container, char *devname, devname2devnum(container)); if (!mdstat) continue; + if (mdstat->active == 0) { + fprintf(stderr, Name ": Skipping inactive " + "array md%i.\n", mdstat->devnum); + free_mdstat(mdstat); + mdstat = NULL; + continue; + } break; } if (!content) @@ -3922,6 +3929,13 @@ int Grow_continue_command(char *devname, int fd, mdstat = mdstat_by_subdev(array, container_dev); if (!mdstat) continue; + if (mdstat->active == 0) { + fprintf(stderr, Name ": Skipping inactive " + "array md%i.\n", mdstat->devnum); + free_mdstat(mdstat); + mdstat = NULL; + continue; + } break; } if (!content) { -- 1.7.4.4