Changed dm_hash_rename() to wake up any dm event waiters for
a mapped device after changing the name of the mapped device.

From: "goggin, edward" <egoggin@emc.com>
Signed-Off-By: Alasdair G Kergon <agk@redhat.com>

[Submitted upstream 2005/11/18]

Index: linux-2.6.14-rc2/drivers/md/dm-ioctl.c
===================================================================
--- linux-2.6.14-rc2.orig/drivers/md/dm-ioctl.c	2005-11-09 22:37:16.000000000 +0000
+++ linux-2.6.14-rc2/drivers/md/dm-ioctl.c	2005-11-10 23:05:33.000000000 +0000
@@ -270,6 +270,7 @@ static int dm_hash_rename(const char *ol
 {
 	char *new_name, *old_name;
 	struct hash_cell *hc;
+	struct dm_table *table;
 
 	/*
 	 * duplicate new.
@@ -317,6 +318,15 @@ static int dm_hash_rename(const char *ol
 	/* rename the device node in devfs */
 	register_with_devfs(hc);
 
+	/*
+	 * Wake up any dm event waiters.
+	 */
+	table = dm_get_table(hc->md);
+	if (table) {
+		dm_table_event(table);
+		dm_table_put(table);
+	}
+
 	up_write(&_hash_lock);
 	kfree(old_name);
 	return 0;
