On Wed, Apr 08, 2009 at 10:32:12AM -0500, David Lehman wrote: > On Wed, 2009-04-08 at 15:07 +0200, Jacek Danecki wrote: > > New iswmd parameter for kernel cmdline > > Instead of gunking things up with checking of command line args and > such, would something like the attached patch work? I give a +1 to this patch as well > > > > > diff --git a/storage/formats/__init__.py b/storage/formats/__init__.py > > index 784bb1c..1bdc7c5 100644 > > --- a/storage/formats/__init__.py > > +++ b/storage/formats/__init__.py > > @@ -3,6 +3,9 @@ > > # > > # Copyright (C) 2009 Red Hat, Inc. > > # > > +# Copyright (C) 2009 Intel Corporation > > +# April 2009 - Changes for MD support for isw format > > +# > > # This copyrighted material is made available to anyone wishing to use, > > # modify, copy, or redistribute it subject to the terms and conditions of > > # the GNU General Public License v.2, or (at your option) any later version. > > @@ -112,6 +115,9 @@ def collect_device_format_classes(): > > log.debug("import of device format module '%s' failed" % mod_name) > > > > def get_device_format_class(fmt_type): > > + from mdraid import MDRaidMember > > + from dmraid import DMRaidMember > > + from flags import flags > > """ Return an appropriate format class based on fmt_type. """ > > if not device_formats: > > collect_device_format_classes() > > @@ -122,6 +128,10 @@ def get_device_format_class(fmt_type): > > if fmt_type and fmt_type == fmt_class._name: > > fmt = fmt_class > > break > > + elif fmt_type == "isw_raid_member" and flags.cmdline.has_key("iswmd"): > > + log.debug("found MD cmdline parameter") > > + fmt = MDRaidMember > > + break > > elif fmt_type in fmt_class._udevTypes: > > fmt = fmt_class > > break > > diff --git a/storage/udev.py b/storage/udev.py > > index 63cc3fd..b56599f 100644 > > --- a/storage/udev.py > > +++ b/storage/udev.py > > @@ -3,6 +3,9 @@ > > # > > # Copyright (C) 2009 Red Hat, Inc. > > # > > +# Copyright (C) 2009 Intel Corporation > > +# April 2009 - Changes for MD support for isw format > > +# > > # This copyrighted material is made available to anyone wishing to use, > > # modify, copy, or redistribute it subject to the terms and conditions of > > # the GNU General Public License v.2, or (at your option) any later version. > > @@ -308,6 +311,21 @@ def udev_device_is_dmraid(info): > > > > return False > > > > +def udev_device_is_mdraid(info): > > + from formats.mdraid import MDRaidMember > > + from flags import flags > > + if info.has_key("ID_FS_TYPE"): > > + if flags.cmdline.has_key("iswmd"): > > + log.debug("found MD cmdline parameter") > > + if info["ID_FS_TYPE"] == "isw_raid_member": > > + log.debug("use MD for isw") > > + return True > > + else: > > + if info["ID_FS_TYPE"] in MDRaidMember._udevTypes: > > + return True > > + > > + return False > > + > > def udev_device_get_dmraid_partition_disk(info): > > try: > > p_index = info["DM_NAME"].rindex("p") > > > > _______________________________________________ > > Anaconda-devel-list mailing list > > Anaconda-devel-list@xxxxxxxxxx > > https://www.redhat.com/mailman/listinfo/anaconda-devel-list > diff --git a/storage/formats/dmraid.py b/storage/formats/dmraid.py > index 4ebd41c..c1d6593 100644 > --- a/storage/formats/dmraid.py > +++ b/storage/formats/dmraid.py > @@ -21,6 +21,7 @@ > # > > from iutil import log_method_call > +from flags import flags > from ..errors import * > from . import DeviceFormat, register_device_format > > @@ -93,5 +95,9 @@ class DMRaidMember(DeviceFormat): > type=self.type, status=self.status) > raise DMRaidMemberError("destruction of dmraid members is non-sense") > > + > +if not flags.cmdline.has_key("iswmd"): > + DMRaidMember._udevTypes.remove("isw_raid_member") > + > register_device_format(DMRaidMember) > > diff --git a/storage/formats/mdraid.py b/storage/formats/mdraid.py > index ec1a617..36bfa1c 100644 > --- a/storage/formats/mdraid.py > +++ b/storage/formats/mdraid.py > @@ -23,6 +23,7 @@ > import os > > from iutil import log_method_call > +from flags import flags > from parted import PARTITION_RAID > from ..errors import * > from ..devicelibs import mdraid > @@ -93,5 +94,8 @@ class MDRaidMember(DeviceFormat): > return False > > > +if flags.cmdline.has_key("iswmd"): > + MDRaidMember._udevTypes.append("isw_raid_member") > + > register_device_format(MDRaidMember) > > _______________________________________________ > Anaconda-devel-list mailing list > Anaconda-devel-list@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/anaconda-devel-list -- Joel Andres Granados Brno, Czech Republic, Red Hat. _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list