From a04cbb3487ca41caeb8cd1e21e1aaf6df0511b39 Mon Sep 17 00:00:00 2001 From: Robert Breker Date: Fri, 30 May 2014 14:39:53 +0100 Subject: [PATCH] CA-136790: Ensure consistent behaviour of get_devices_by_SCSIid Dependant on the udev rules there may be a mapper device in by-scsid. This commit ensures that that get_devices_by_SCSIid never returns the mapper-device. Signed-off-by: Robert Breker Reviewed-by: Keith Petley (cherry picked from commit 68010a2016938f118e810f9ce78b60489f90729a) Fixes CA-172756. Imported-by: Pritha Srivastava GitHub: closes xapi-project/sm#269 --- drivers/scsiutil.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/scsiutil.py b/drivers/scsiutil.py index 6a98cb90a..efed74de6 100755 --- a/drivers/scsiutil.py +++ b/drivers/scsiutil.py @@ -180,7 +180,10 @@ def getdev(path): return os.path.realpath(newpath).split('/')[-1] def get_devices_by_SCSIid(SCSIid): - return os.listdir(os.path.join('/dev/disk/by-scsid', SCSIid)) + devices = os.listdir(os.path.join('/dev/disk/by-scsid', SCSIid)) + if 'mapper' in devices: + devices.remove('mapper') + return devices def rawdev(dev): return re.sub("[0-9]*$","",getdev(dev))