[blivet:master 3/3] Distinguish among desired MD*Device constructors in newMDArray().

Anne Mulhern amulhern at redhat.com
Fri Dec 12 20:49:14 UTC 2014


Gone!

- mulhern

----- Original Message -----
> From: "David Lehman" <dlehman at redhat.com>
> To: anaconda-patches at lists.fedorahosted.org
> Sent: Friday, December 12, 2014 3:35:25 PM
> Subject: Re: [blivet:master 3/3] Distinguish among desired MD*Device	constructors in newMDArray().
> 
> On 12/12/2014 12:35 PM, mulhern wrote:
> > Signed-off-by: mulhern <amulhern at redhat.com>
> > ---
> >   blivet/__init__.py | 16 ++++++++++++++--
> >   1 file changed, 14 insertions(+), 2 deletions(-)
> 
> This one should be totally unnecessary since we do not (nor do we plan
> to) support creation of containers or fwraid arrays.
> 
> David
> 
> >
> > diff --git a/blivet/__init__.py b/blivet/__init__.py
> > index 210d3c6..8cf9351 100644
> > --- a/blivet/__init__.py
> > +++ b/blivet/__init__.py
> > @@ -67,13 +67,14 @@ from pykickstart.constants import AUTOPART_TYPE_LVM,
> > CLEARPART_TYPE_ALL, CLEARPA
> >
> >   from .storage_log import log_exception_info, log_method_call
> >   from .errors import DeviceError, DirtyFSError, FSResizeError,
> >   FSTabTypeMismatchError, UnknownSourceDeviceError, StorageError,
> >   UnrecognizedFSTabEntryError
> > -from .devices import BTRFSDevice, BTRFSSubVolumeDevice, BTRFSVolumeDevice,
> > DirectoryDevice, FileDevice, LVMLogicalVolumeDevice,
> > LVMThinLogicalVolumeDevice, LVMThinPoolDevice, LVMVolumeGroupDevice,
> > MDRaidArrayDevice, NetworkStorageDevice, NFSDevice, NoDevice,
> > OpticalDevice, PartitionDevice, TmpFSDevice, devicePathToName
> > +from .devices import BTRFSDevice, BTRFSSubVolumeDevice, BTRFSVolumeDevice,
> > DirectoryDevice, FileDevice, LVMLogicalVolumeDevice,
> > LVMThinLogicalVolumeDevice, LVMThinPoolDevice, LVMVolumeGroupDevice,
> > MDBiosRaidArrayDevice, MDContainerDevice, MDRaidArrayDevice,
> > NetworkStorageDevice, NFSDevice, NoDevice, OpticalDevice, PartitionDevice,
> > TmpFSDevice, devicePathToName
> >   from .devicetree import DeviceTree
> >   from .deviceaction import ActionCreateDevice, ActionCreateFormat,
> >   ActionDestroyDevice, ActionDestroyFormat, ActionResizeDevice,
> >   ActionResizeFormat
> >   from .formats import getFormat
> >   from .formats import get_device_format_class
> >   from .formats import get_default_filesystem_type
> >   from . import devicefactory
> > +from .devicelibs import raid
> >   from .devicelibs.dm import name_from_dm_node
> >   from .devicelibs.crypto import generateBackupPassphrase
> >   from .devicelibs.edd import get_edd_dict
> > @@ -1063,7 +1064,18 @@ class Blivet(object):
> >                                             swap=swap,
> >                                             mountpoint=mountpoint)
> >
> > -        return MDRaidArrayDevice(name, *args, **kwargs)
> > +
> > +        device_type = MDRaidArrayDevice
> > +
> > +        level = kwargs.get("level", None)
> > +        if level is not None and raid.getRaidLevel(level) is
> > raid.Container:
> > +            device_type = MDContainerDevice
> > +
> > +        parents = kwargs.get("parents", None)
> > +        if parents is not None and parents[0].type == "mdcontainer":
> > +            device_type = MDBiosRaidArrayDevice
> > +
> > +        return device_type(name, *args, **kwargs)
> >
> >       def newVG(self, *args, **kwargs):
> >           """ Return a new LVMVolumeGroupDevice instance.
> >
> 
> _______________________________________________
> anaconda-patches mailing list
> anaconda-patches at lists.fedorahosted.org
> https://lists.fedorahosted.org/mailman/listinfo/anaconda-patches
> 


More information about the anaconda-patches mailing list