--- pyanaconda/storage/devicetree.py | 4 +++- pyanaconda/storage/udev.py | 9 +++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/pyanaconda/storage/devicetree.py b/pyanaconda/storage/devicetree.py index 2981d35..fbbc2eb 100644 --- a/pyanaconda/storage/devicetree.py +++ b/pyanaconda/storage/devicetree.py @@ -523,10 +523,12 @@ class DeviceTree(object): # 2) Sets get added to exclusive disks with their dmraid set name by # the filter ui. Note that making the ui use md names instead is not # possible as the md names are simpy md# and we cannot predict the # - if udev_device_get_md_level(info) == "container": + if udev_device_is_md(info) and \ + udev_device_get_md_level(info) == "container": return False if udev_device_get_md_container(info) and \ + udev_device_is_md(info) and \ udev_device_get_md_name(info): md_name = udev_device_get_md_name(info) for i in range(0, len(self.exclusiveDisks)): diff --git a/pyanaconda/storage/udev.py b/pyanaconda/storage/udev.py index 9dfe37c..b2cc5ab 100644 --- a/pyanaconda/storage/udev.py +++ b/pyanaconda/storage/udev.py @@ -165,9 +165,14 @@ def udev_device_is_md(info): # Don't identify partitions on mdraid arrays as raid arrays if udev_device_is_partition(info): return False + + # imsm member disks have MD_METADATA set, but are not arrays + md_dir = "/sys" + udev_device_get_sysfs_path(info) + "/md" + # isw raid set *members* have MD_METADATA set, but are not arrays! - return info.has_key("MD_METADATA") and \ - info.get("ID_FS_TYPE") != "isw_raid_member" + return (info.has_key("MD_METADATA") and + info.get("ID_FS_TYPE") != "isw_raid_member" and + os.path.exists(md_dir)) def udev_device_is_cciss(info): """ Return True if the device is a CCISS device. """ -- 1.7.3.2 _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list