From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Benjamin Marzinski Date: Wed, 21 Oct 2020 16:39:26 -0500 Subject: [PATCH] libmultipath: change log level for null uid_attribute If uid_attribute is explicitly set to an empty string, multipath should log the uid at the default log level, since using the fallback code is the expected behavior. Signed-off-by: Benjamin Marzinski Reviewed-by: Martin Wilck --- libmultipath/discovery.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libmultipath/discovery.c b/libmultipath/discovery.c index 877e8f2b..c74f13bf 100644 --- a/libmultipath/discovery.c +++ b/libmultipath/discovery.c @@ -2086,8 +2086,11 @@ get_uid (struct path * pp, int path_state, struct udev_device *udev, len = strlen(pp->wwid); origin = "callout"; } else { - bool udev_available = udev && pp->uid_attribute + bool valid_uid_attr = pp->uid_attribute && *pp->uid_attribute; + bool empty_uid_attr = pp->uid_attribute + && !*pp->uid_attribute; + bool udev_available = udev && valid_uid_attr; if (udev_available) { len = get_udev_uid(pp, pp->uid_attribute, udev); @@ -2097,7 +2100,8 @@ get_uid (struct path * pp, int path_state, struct udev_device *udev, } if ((!udev_available || (len <= 0 && allow_fallback)) && has_uid_fallback(pp)) { - used_fallback = 1; + if (!udev || !empty_uid_attr) + used_fallback = 1; len = uid_fallback(pp, path_state, &origin); } }