summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Jones <pjones@redhat.com>2009-08-10 11:13:23 -0400
committerPeter Jones <pjones@redhat.com>2009-08-10 11:15:51 -0400
commit1e1158464c6c9dabd9a1e11d1d0c9d156bd77701 (patch)
treea997f9d7472765d7908eea460bb7aa2480c5da2a
parent95cf84a7a8aa4b1027084e1030bfbc5a8f571fe0 (diff)
downloadanaconda-1e1158464c6c9dabd9a1e11d1d0c9d156bd77701.tar.gz
anaconda-1e1158464c6c9dabd9a1e11d1d0c9d156bd77701.tar.xz
anaconda-1e1158464c6c9dabd9a1e11d1d0c9d156bd77701.zip
Don't try to multipath CD devices. (#516362)
CD devices obviously aren't multipath devices, but right now the code allows them to be, because udev_device_is_disk() returns True for a CD device. This patch makes that not the case, and also excludes disks that don't report a serial number.
-rw-r--r--storage/devicetree.py3
-rw-r--r--storage/udev.py2
2 files changed, 4 insertions, 1 deletions
diff --git a/storage/devicetree.py b/storage/devicetree.py
index 0dec5e025..12d492599 100644
--- a/storage/devicetree.py
+++ b/storage/devicetree.py
@@ -1780,7 +1780,8 @@ class DeviceTree(object):
non_disk_devices = {}
for d in devices:
serial = udev_device_get_serial(d)
- if not udev_device_is_disk(d):
+ if (not udev_device_is_disk(d)) or \
+ (not d.has_key['ID_SERIAL_SHORT']):
non_disk_devices.setdefault(serial, [])
non_disk_devices[serial].append(d)
log.info("adding %s to non_disk_device list" % (d['name'],))
diff --git a/storage/udev.py b/storage/udev.py
index a8024ddfb..2d199df83 100644
--- a/storage/udev.py
+++ b/storage/udev.py
@@ -155,6 +155,8 @@ def udev_device_is_cdrom(info):
def udev_device_is_disk(info):
""" Return True is the device is a disk. """
+ if udev_device_is_cdrom(info):
+ return False
has_range = os.path.exists("/sys/%s/range" % info['sysfs_path'])
return info.get("DEVTYPE") == "disk" or has_range