Due to a race condition within udev the 'uid_attribute' might not always be set. So we should be zeroing the 'uid_attribute' when retrieving the uid by other means, otherwise the discovery process will blacklist the device. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> --- libmultipath/discovery.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/libmultipath/discovery.c b/libmultipath/discovery.c index d5dda2c..8e6b228 100644 --- a/libmultipath/discovery.c +++ b/libmultipath/discovery.c @@ -1497,13 +1497,17 @@ get_uid (struct path * pp) } if (len <= 0) { len = get_vpd_uid(pp); - if (len > 0) + if (len > 0) { origin = "sysfs"; + pp->uid_attribute = NULL; + } } if (len <= 0) { len = get_udev_uid(pp, DEFAULT_UID_ATTRIBUTE); - if (len > 0) - origin = "udev"; + if (len > 0) { + origin = "default"; + pp->uid_attribute = DEFAULT_UID_ATTRIBUTE; + } } } if ( len < 0 ) { -- 1.8.4.5 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel