Special handling for mdraid BIOS RAID sets in exclusive disks
> 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...
- Chris
_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list
01-22-2010, 02:00 PM
Chris Lumens
Special handling for mdraid BIOS RAID sets in exclusive disks
> diff --git a/storage/devicetree.py b/storage/devicetree.py
> index c171918..eca5768 100644
> --- a/storage/devicetree.py
> +++ b/storage/devicetree.py
> @@ -886,6 +886,22 @@ class DeviceTree(object):
> if name in self._ignoredDisks:
> return True
>
> + # 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 #
> + if udev_device_get_md_level(info) == "container":
> + return 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):
> + return False
> +
> if udev_device_is_disk(info) and
> not udev_device_is_md(info) and
> not udev_device_is_dm(info) and
This is much more what I was thinking. Thanks for the simplification.
- Chris
_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list