summaryrefslogtreecommitdiff
path: root/managemon.c
diff options
context:
space:
mode:
authorAdam Kwolek <adam.kwolek@intel.com>2011-03-28 13:56:49 +0200
committerNeilBrown <neilb@suse.de>2011-04-05 09:24:17 +1000
commit84f3857fec97c9fd459c23e45d8d5abe9dae9da0 (patch)
tree9c804749f03db202929545fe7a83f9e08882471b /managemon.c
parenteb28e119b03fd5149886ed516fa4bb006ad3602e (diff)
FIX: After discarding array give chance monitor to remove it
When raid0 expansion occurs, takeover operation is used. After backward takeover monitor remains in memory. This happens due to remaining just removed active array in mdmon structures. If there is no other monitored arrays, mdmon has to finish his work. Problem was introduced in patch (2011.03.22): mdmon: Stop keeping track of RAID0 (and LINEAR) arrays. Prior to this patch mdmon kicking occurs via replace_array() where wakeup_monitor() was called. Signed-off-by: Adam Kwolek <adam.kwolek@intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'managemon.c')
-rw-r--r--managemon.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/managemon.c b/managemon.c
index 67c59514..6662f675 100644
--- a/managemon.c
+++ b/managemon.c
@@ -462,6 +462,7 @@ static void manage_member(struct mdstat_ent *mdstat,
int level = map_name(pers, mdstat->level);
if (level == 0 || level == LEVEL_LINEAR) {
a->container = NULL;
+ wakeup_monitor();
return;
}
else if (a->info.array.level != level && level > 0) {