Special handling for mdraid BIOS RAID sets in exclusive disks
Hi,
On 01/21/2010 10:43 PM, Chris Lumens wrote:
diff --git a/storage/devicetree.py b/storage/devicetree.py
index 1b90132..51c1415 100644
--- a/storage/devicetree.py
+++ b/storage/devicetree.py
@@ -883,7 +883,26 @@ class DeviceTree(object):
if name in self._ignoredDisks:
return True
- if udev_device_is_disk(info) and
+ # Special handling for mdraid external metadata sets (mdraid BIOSRAID):
+ # 1) The containers are intermediate devices which will never be
+ # in exclusiveDisks
+ # 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 #
+ checkExclusiveDisks = True
+ if udev_device_get_md_level(info) == "container":
+ checkExclusiveDisks = False
+
+ if udev_device_get_md_container(info) and
+ udev_device_get_md_name(info):
+ md_name = udev_device_get_md_name(info)
+ for disk in self.exclusiveDisks:
+ if re.match("isw_[a-z]*_%s" % md_name, disk):
+ checkExclusiveDisks = False
+ break
+
+ if checkExclusiveDisks and
+ udev_device_is_disk(info) and
not udev_device_is_md(info) and
not udev_device_is_dm(info) and
not udev_device_is_biosraid(info) and
The reason for needing to do the checkExclusiveDisks test is because
later in isIgnored we need to check for partitions on the devices, yeah?
Just making sure I'm understanding the patch correctly here...
Ah yes you are right, I can simply return False instead of having the
checkExclusiveDisks variable.
Esp as the check for partitions is no longer relevant and should be removed.
New version of the patch + a patch to remove the partition checking is coming up.
Regards,
Hans
_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list