diff options
author | Peter Jones <pjones@redhat.com> | 2009-08-10 11:13:23 -0400 |
---|---|---|
committer | Peter Jones <pjones@redhat.com> | 2009-08-10 11:15:51 -0400 |
commit | 1e1158464c6c9dabd9a1e11d1d0c9d156bd77701 (patch) | |
tree | a997f9d7472765d7908eea460bb7aa2480c5da2a | |
parent | 95cf84a7a8aa4b1027084e1030bfbc5a8f571fe0 (diff) | |
download | anaconda-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.py | 3 | ||||
-rw-r--r-- | storage/udev.py | 2 |
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 |