[blivet:master 08/11] Add a udev_device_get_md_metadata() method to udev and use it.
Vratislav Podzimek
vpodzime at redhat.com
Fri Jul 4 07:03:14 UTC 2014
On Thu, 2014-07-03 at 11:19 -0400, mulhern wrote:
> Signed-off-by: mulhern <amulhern at redhat.com>
> ---
> blivet/devicetree.py | 6 ++++--
> blivet/udev.py | 12 ++++++++++++
> 2 files changed, 16 insertions(+), 2 deletions(-)
>
> diff --git a/blivet/devicetree.py b/blivet/devicetree.py
> index aaa287c..64aa5ac 100644
> --- a/blivet/devicetree.py
> +++ b/blivet/devicetree.py
> @@ -1602,7 +1602,7 @@ class DeviceTree(object):
>
> if dev_uuid == md_uuid and dev_level == md_level:
> md_name = udev.udev_device_get_md_name(dev)
> - md_metadata = dev.get("MD_METADATA")
> + md_metadata = udev.udev_device_get_md_metadata(dev)
> if not md_name:
> # containers don't typically have names and they also
> # don't have a symlink in /dev/md
> @@ -1616,7 +1616,9 @@ class DeviceTree(object):
>
> # mdexamine yields MD_METADATA only for metadata version > 0.90
> # if MD_METADATA is missing, assume metadata version is 0.90
> - md_metadata = md_metadata or info.get("MD_METADATA", "0.90")
> + md_metadata = md_metadata or \
> + udev.udev_device_get_md_metadata(info) or \
> + "0.90"
>
> if not md_name:
> md_path = info.get("DEVICE", "")
> diff --git a/blivet/udev.py b/blivet/udev.py
> index bc4e21f..d3a8259 100644
> --- a/blivet/udev.py
> +++ b/blivet/udev.py
> @@ -434,6 +434,18 @@ def udev_device_get_md_name(info):
> # * No known metadata versions for mdraid/mdadm
> return info.get("MD_DEVNAME")
>
> +def udev_device_get_md_metadata(info):
> + """ Return the metadata version number.
> +
> + :param dict info: dictionary of name-value pairs as strings
> + :returns: the metadata version number of the md array
> + :rtype: str or NoneType
> + """
> + # Value for MD_METADATA known to be obtained from:
> + # * pyudev/libudev
> + # * mdraid/mdadm (not version numbers < 1)
> + return info.get("MD_METADATA")
> +
> def udev_device_get_vg_name(info):
> return info['LVM2_VG_NAME']
A similar note here inspired by a new udev_ function added to the udev
module -- could we remove the 'udev_' prefix from all those functions?
It made sense when there were * imports from the module, but it's just
pain now.
--
Vratislav Podzimek
Anaconda Rider | RHCE | Red Hat, Inc. | Brno - Czech Republic
More information about the anaconda-patches
mailing list