[PATCH] device-mapper ioctl: event on rename
authorgoggin, edward <egoggin@emc.com>
Fri, 6 Jan 2006 08:20:01 +0000 (00:20 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 6 Jan 2006 16:34:00 +0000 (08:34 -0800)
After changing the name of a mapped device, trigger a dm event.  (For
userspace multipath tools.)

Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/md/dm-ioctl.c

index 07d44e19536e5c42c12cc00f3b37f23f16a49dfb..3e327db57310031cb833e9d6b9b8e7719e087560 100644 (file)
@@ -270,6 +270,7 @@ static int dm_hash_rename(const char *old, const char *new)
 {
        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 *old, const char *new)
        /* 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;