summaryrefslogtreecommitdiff
path: root/Grow.c
diff options
context:
space:
mode:
authorAdam Kwolek <adam.kwolek@intel.com>2011-11-07 11:46:35 +1100
committerNeilBrown <neilb@suse.de>2011-11-07 11:46:35 +1100
commit4584621ab439f009d7f6a3e61b7cc91c0374065f (patch)
tree5966e4d69ea8ed80b78c0cec60a2fdf3a977c9c1 /Grow.c
parent88e5516ea914f0e9d433a50dc0b2867085250308 (diff)
FIX: Do not continue container reshape when mdmon is absent
When mdmon is absent metadata is not updated, and container_reshape() can fall in to endless loop. This can cause user data corruption. In case when mdmon is absent do not continue container reshape process. 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.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/Grow.c b/Grow.c
index e7fd7c42..184a973a 100644
--- a/Grow.c
+++ b/Grow.c
@@ -2562,6 +2562,12 @@ int reshape_container(char *container, char *devname,
restart = 0;
if (rv)
break;
+ rv = !mdmon_running(devname2devnum(container));
+ if (rv) {
+ printf(Name ": Mdmon is not found. "
+ "Cannot continue container reshape.\n");
+ break;
+ }
}
if (!rv)
unfreeze(st);