diff options
-rw-r--r-- | mapfile.c | 14 |
1 files changed, 8 insertions, 6 deletions
@@ -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); } |