summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Kwolek <adam.kwolek@intel.com>2011-06-08 17:13:26 +1000
committerNeilBrown <neilb@suse.de>2011-06-08 17:13:26 +1000
commite919fb0af245512b02200b8e78c8bbbc0f966f9c (patch)
tree480f5d4a7b9873bd6eb06b449859df6de5cfce4d
parent0ec5d470e00787e9b03ba3a880b1b98e0da034cd (diff)
downloadmdadm-e919fb0af245512b02200b8e78c8bbbc0f966f9c.tar.gz
FIX: Enable metadata updates for raid0
When raid0 is takeovered to degraded raid4, metadata updates has to be applied via mdmon (raid4 has to be monitored). It is not possible due to no update_tail pointer initialization in supertype structure. Signed-off-by: Adam Kwolek <adam.kwolek@intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
-rw-r--r--Grow.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/Grow.c b/Grow.c
index ad5ccc4..c2c45ae 100644
--- a/Grow.c
+++ b/Grow.c
@@ -1848,6 +1848,9 @@ static int reshape_array(char *container, int fd, char *devname,
if (!mdmon_running(st->container_dev))
start_mdmon(st->container_dev);
ping_monitor(container);
+ if (mdmon_running(st->container_dev) &&
+ st->update_tail == NULL)
+ st->update_tail = &st->updates;
}
}
/* ->reshape_super might have chosen some spares from the
@@ -2265,6 +2268,8 @@ started:
": %s: could not set level "
"to %s\n", devname, c);
}
+ if (info->new_level == 0)
+ st->update_tail = NULL;
}
out:
if (forked)