Make the mapped device structure accessible to hardware handlers so error messages can include the device name. Signed-off-by: Edward Goggin Signed-off-by: Alasdair G Kergon drivers/md/dm-hw-handler.h | 1 + drivers/md/dm-mpath.c | 3 +++ drivers/md/dm.c | 1 + 3 files changed, 5 insertions(+) Index: linux-2.6.19/drivers/md/dm-hw-handler.h =================================================================== --- linux-2.6.19.orig/drivers/md/dm-hw-handler.h 2006-12-06 20:49:24.000000000 +0000 +++ linux-2.6.19/drivers/md/dm-hw-handler.h 2006-12-06 21:18:46.000000000 +0000 @@ -16,6 +16,7 @@ struct hw_handler_type; struct hw_handler { struct hw_handler_type *type; + struct mapped_device *md; void *context; }; Index: linux-2.6.19/drivers/md/dm-mpath.c =================================================================== --- linux-2.6.19.orig/drivers/md/dm-mpath.c 2006-12-06 20:55:37.000000000 +0000 +++ linux-2.6.19/drivers/md/dm-mpath.c 2006-12-06 21:35:09.000000000 +0000 @@ -666,6 +666,9 @@ static int parse_hw_handler(struct arg_s return -EINVAL; } + m->hw_handler.md = dm_table_get_md(ti->table); + dm_put(m->hw_handler.md); + r = hwht->create(&m->hw_handler, hw_argc - 1, as->argv); if (r) { dm_put_hw_handler(hwht); Index: linux-2.6.19/drivers/md/dm.c =================================================================== --- linux-2.6.19.orig/drivers/md/dm.c 2006-12-06 20:49:32.000000000 +0000 +++ linux-2.6.19/drivers/md/dm.c 2006-12-06 21:35:28.000000000 +0000 @@ -1235,6 +1235,7 @@ void dm_put(struct mapped_device *md) free_dev(md); } } +EXPORT_SYMBOL_GPL(dm_put); /* * Process the deferred bios