libmultipath: get_uid: straighten the fallback logic
authorMartin Wilck <mwilck@suse.com>
Mon, 24 Jun 2019 09:27:51 +0000 (11:27 +0200)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Wed, 3 Jul 2019 06:32:06 +0000 (08:32 +0200)
commit1313a4e44bebf1a6b51924f88acf9416fc79989e
tree4b7e952521342415155e017232cbf3143be945e0
parente9f332625b4b91787efe15e5d16c4eb66fcaefb1
libmultipath: get_uid: straighten the fallback logic

The code had two distinct fallback paths, with non-obvious logic.
Try to straighten it out. The "allow_fallback" logic from
ffaf9477d115 "multipathd: Don't use fallback code after getting wwid"
should only apply in the case where get_udev_uid() failed, not
if it wasn't even tried. Moreover, uid_attribute is hardly ever NULL
since ffaf9477; allow the user to set it to the empty string to
skip udev-based WWID determination. This is rather not meant for
production, but it's useful for testing. Finally, only set "origin"
to "udev" if a WWID was actually retrieved from udev.

Signed-off-by: Martin Wilck <mwilck@suse.com>
libmultipath/discovery.c