Update pp->udev and those path attributes that can be cheaply updated from sysfs, i.e. without IO to the disk.
Signed-off-by: Martin Wilck <mwi...@suse.com> --- multipathd/main.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/multipathd/main.c b/multipathd/main.c index e9668205ce92..6e6c52a52783 100644 --- a/multipathd/main.c +++ b/multipathd/main.c @@ -964,6 +964,14 @@ uev_update_path (struct uevent *uev, struct vectors * vecs) strcpy(pp->wwid, wwid); else pp->wwid_changed = 0; + } else { + udev_device_unref(pp->udev); + pp->udev = udev_device_ref(uev->udev); + conf = get_multipath_config(); + if (pathinfo(pp, conf, DI_SYSFS|DI_NOIO) != PATHINFO_OK) + condlog(1, "%s: pathinfo failed after change uevent", + uev->kernel); + put_multipath_config(conf); } if (pp->initialized == INIT_REQUESTED_UDEV) -- 2.16.1 -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel