[dm-devel] [PATCH 68/78] libmultipath: unset 'uid_attribute' on failure
Hannes Reinecke
hare at suse.de
Mon Mar 16 12:36:55 UTC 2015
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 at suse.de>
---
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
More information about the dm-devel
mailing list