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 <bmarz...@redhat.com>
---
 libmultipath/discovery.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/libmultipath/discovery.c b/libmultipath/discovery.c
index d7e8577f..950b1586 100644
--- a/libmultipath/discovery.c
+++ b/libmultipath/discovery.c
@@ -2084,8 +2084,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);
@@ -2095,7 +2098,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);
                }
        }
-- 
2.17.2

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel

Reply via email to