summaryrefslogtreecommitdiff
path: root/Grow.c
diff options
context:
space:
mode:
authorAdam Kwolek <adam.kwolek@intel.com>2012-02-09 12:38:15 +1100
committerNeilBrown <neilb@suse.de>2012-02-09 12:38:15 +1100
commit1ca90aa6484a6f5d4fdd6122ad1d2015209bd8e0 (patch)
tree749c01d3c15a924e713a1c7ca393120bb5df6687 /Grow.c
parente1dd332a09c66ef0df68229cc633b8f2521e5db4 (diff)
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 <adam.kwolek@intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'Grow.c')
-rw-r--r--Grow.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/Grow.c b/Grow.c
index 61adefa5..53a7cad7 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) {