Have deviceNameToDiskByPath() return the full device path rather than just the basename path. Have it check to see if the entry in /dev/disk/by-path is actually a symlink, then readlink that. Otherwise just take the basename of the entry. Also fix a problem where passing it a full device path would not match (e.g., '/dev/dasdb1'). Take the basename of deviceName and match that against the readlink() value. --- storage/devices.py | 12 ++++++++++-- 1 files changed, 10 insertions(+), 2 deletions(-) diff --git a/storage/devices.py b/storage/devices.py index 348d2fd..9d257e2 100644 --- a/storage/devices.py +++ b/storage/devices.py @@ -154,10 +154,18 @@ def deviceNameToDiskByPath(deviceName=None): if not os.path.isdir(bypath): return "" + deviceName = os.path.basename(deviceName) + for path in os.listdir(bypath): - target = os.path.basename(os.readlink(bypath + '/' + path)) + entry = bypath + '/' + path + + if os.path.islink(entry): + target = os.path.basename(os.readlink(entry)) + else: + target = os.path.basename(entry) + if target == deviceName: - return path + return entry return "" -- 1.6.2.5 _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list