}
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);
}