diff options
Diffstat (limited to 'drivers/md/dm-mpath.c')
-rw-r--r-- | drivers/md/dm-mpath.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c index dd5ad6310f54..24b2b1e32fae 100644 --- a/drivers/md/dm-mpath.c +++ b/drivers/md/dm-mpath.c | |||
@@ -10,6 +10,7 @@ | |||
10 | #include "dm-hw-handler.h" | 10 | #include "dm-hw-handler.h" |
11 | #include "dm-bio-list.h" | 11 | #include "dm-bio-list.h" |
12 | #include "dm-bio-record.h" | 12 | #include "dm-bio-record.h" |
13 | #include "dm-uevent.h" | ||
13 | 14 | ||
14 | #include <linux/ctype.h> | 15 | #include <linux/ctype.h> |
15 | #include <linux/init.h> | 16 | #include <linux/init.h> |
@@ -857,6 +858,9 @@ static int fail_path(struct pgpath *pgpath) | |||
857 | if (pgpath == m->current_pgpath) | 858 | if (pgpath == m->current_pgpath) |
858 | m->current_pgpath = NULL; | 859 | m->current_pgpath = NULL; |
859 | 860 | ||
861 | dm_path_uevent(DM_UEVENT_PATH_FAILED, m->ti, | ||
862 | pgpath->path.dev->name, m->nr_valid_paths); | ||
863 | |||
860 | queue_work(kmultipathd, &m->trigger_event); | 864 | queue_work(kmultipathd, &m->trigger_event); |
861 | 865 | ||
862 | out: | 866 | out: |
@@ -896,6 +900,9 @@ static int reinstate_path(struct pgpath *pgpath) | |||
896 | if (!m->nr_valid_paths++ && m->queue_size) | 900 | if (!m->nr_valid_paths++ && m->queue_size) |
897 | queue_work(kmultipathd, &m->process_queued_ios); | 901 | queue_work(kmultipathd, &m->process_queued_ios); |
898 | 902 | ||
903 | dm_path_uevent(DM_UEVENT_PATH_REINSTATED, m->ti, | ||
904 | pgpath->path.dev->name, m->nr_valid_paths); | ||
905 | |||
899 | queue_work(kmultipathd, &m->trigger_event); | 906 | queue_work(kmultipathd, &m->trigger_event); |
900 | 907 | ||
901 | out: | 908 | out: |