[blivet:master 08/11] Add a udev_device_get_md_metadata() method to udev and use it.
Anne Mulhern
amulhern at redhat.com
Mon Jul 7 13:04:11 UTC 2014
----- Original Message -----
> From: "Vratislav Podzimek" <vpodzime at redhat.com>
> To: "anaconda patch review" <anaconda-patches at lists.fedorahosted.org>
> Sent: Friday, July 4, 2014 3:03:14 AM
> Subject: Re: [blivet:master 08/11] Add a udev_device_get_md_metadata() method to udev and use it.
>
> 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
>
>
> _______________________________________________
> anaconda-patches mailing list
> anaconda-patches at lists.fedorahosted.org
> https://lists.fedorahosted.org/mailman/listinfo/anaconda-patches
>
Unless anybody objects I'll go ahead and add a patch for this as well.
It will affect around 13 files and 350 lines.
Pros: more pythonic and less verbose naming scheme
Cons: a lot of lines changed for a mostly cosmetic change
- mulhern
More information about the anaconda-patches
mailing list