]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Only signal a udev change event if we actually write a mapfile in RebuildMap
authorDoug Ledford <dledford@redhat.com>
Wed, 17 Mar 2010 13:28:07 +0000 (09:28 -0400)
committerNeilBrown <neilb@suse.de>
Tue, 23 Mar 2010 22:37:39 +0000 (09:37 +1100)
Signed-off-by: Doug Ledford <dledford@redhat.com>
mapfile.c

index 74f72560e32b144a0707c3f15fe4599341f797b9..d47fde1463b8adf9758e9391f58fe79967cc8633 100644 (file)
--- a/mapfile.c
+++ b/mapfile.c
@@ -471,12 +471,14 @@ void RebuildMap(void)
                }
                sysfs_free(sra);
        }
-       map_write(map);
+       /* Only trigger a change if we wrote a new map file */
+       if (map_write(map))
+               for (md = mdstat ; md ; md = md->next) {
+                       struct mdinfo *sra = sysfs_read(-1, md->devnum,
+                                                       GET_VERSION);
+                       sysfs_uevent(sra, "change");
+                       sysfs_free(sra);
+               }
        map_free(map);
-       for (md = mdstat ; md ; md = md->next) {
-               struct mdinfo *sra = sysfs_read(-1, md->devnum, GET_VERSION);
-               sysfs_uevent(sra, "change");
-               sysfs_free(sra);
-       }
        free_mdstat(mdstat);
 }