]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
FIX: After discarding array give chance monitor to remove it
authorAdam Kwolek <adam.kwolek@intel.com>
Mon, 28 Mar 2011 11:56:49 +0000 (13:56 +0200)
committerNeilBrown <neilb@suse.de>
Mon, 4 Apr 2011 23:24:17 +0000 (09:24 +1000)
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>
managemon.c

index 67c59514b0e77bce3bba41051802bd0bdc28e685..6662f675cc938e91a321734da3849d33d689c7c2 100644 (file)
@@ -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) {