Trigger event on path bypass. --- diff/drivers/md/dm-mpath.c 2004-10-29 15:39:19.000000000 +0100 +++ source/drivers/md/dm-mpath.c 2004-10-29 15:39:26.000000000 +0100 @@ -299,9 +299,14 @@ dispatch_queued_ios(m); } +/* + * An event is triggered whenever a path is taken out of use. + * Includes path failure and PG bypass. + */ static void trigger_event(void *data) { struct multipath *m = (struct multipath *) data; + dm_table_event(m->ti->table); } @@ -685,6 +690,8 @@ pg->bypass = bypass; m->current_path = NULL; spin_unlock_irqrestore(&m->lock, flags); + + schedule_work(&m->trigger_event); } /*