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@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list