Also trigger event on reinstate. --- diff/drivers/md/dm-mpath.c 2004-10-29 15:39:32.000000000 +0100 +++ source/drivers/md/dm-mpath.c 2004-10-29 15:39:38.000000000 +0100 @@ -640,7 +640,6 @@ path->is_active = 0; path->fail_count++; path->pg->ps.type->fail_path(&path->pg->ps, path); - schedule_work(&m->trigger_event); spin_lock(&m->lock); m->nr_valid_paths--; @@ -649,6 +648,7 @@ m->current_path = NULL; spin_unlock(&m->lock); + schedule_work(&m->trigger_event); out: spin_unlock_irqrestore(&path->queued_lock, flags); @@ -686,6 +686,8 @@ m->current_path = NULL; spin_unlock(&m->lock); + schedule_work(&m->trigger_event); + out: spin_unlock_irqrestore(&path->queued_lock, flags);