The patch changed slightly, will repost. On Thu, Apr 02, 2009 at 03:24:10PM +0200, Joel Granados Moreno wrote: > * storage/devices.py (DMRaidArrayDevice): Erase the activate and > deactivate functions for the DMRaidArrayDevice. They are no really > being used. > * storage/devices.py (DMRaidArrayDevice): Create setup and teardown > functions for the class. > * storage/devices.py (Device): Add the pyblock attribute to the shallow > copy list. > --- > storage/devices.py | 32 +++++++++++++++++++++++++------- > 1 files changed, 25 insertions(+), 7 deletions(-) > > diff --git a/storage/devices.py b/storage/devices.py > index 32e4c23..2f936dc 100644 > --- a/storage/devices.py > +++ b/storage/devices.py > @@ -201,7 +201,8 @@ class Device(object): > new = self.__class__.__new__(self.__class__) > memo[id(self)] = new > shallow_copy_attrs = ('partedDisk', 'partedDevice', > - '_partedPartition', '_origPartedDisk') > + '_partedPartition', '_origPartedDisk', > + '_raidSet') > for (attr, value) in self.__dict__.items(): > if attr in shallow_copy_attrs: > setattr(new, attr, copy.copy(value)) > @@ -2403,12 +2404,6 @@ class DMRaidArrayDevice(DiskDevice): > """ Return a list of this array's member device instances. """ > return self.parents > > - def activate(self, mknod=True): > - self._raidSet.activate(mknod=mknod) > - > - def deactivate(self): > - self._raidSet.deactivate() > - > def updateSysfsPath(self): > """ Update this device's sysfs path. """ > log_method_call(self, self.name, status=self.status) > @@ -2422,6 +2417,29 @@ class DMRaidArrayDevice(DiskDevice): > else: > self.sysfsPath = '' > > + def teardown(self, recursive=None): > + """ Close, or tear down, a device. """ > + log_method_call(self, self.name, status=self.status) > + if not self.exists and not recursive: One can argue that in the anaconda scope checking if the DMRaidArray exists is not very inteligent given that we really don't "create" DMraid devices. so they will always exist. But I prefered to keep this here for consistency with the other code. > + raise DeviceError("device has not been created") > + > + if self.format.exists: > + self.format.teardown() > + > + if self.exists: > + self._raidSet.deactivate() We actually don't need to do this change, the pyblock call checks this for us and does nothing if the set is already deactivated. > + > + def setup(self, intf=None): > + """ Open, or set up, a device. """ > + log_method_call(self, self.name, status=self.status) > + if not self.exists: > + raise DeviceError("device has not been created") > + > + # This call already checks if the set is active. > + self._raidSet.activate(mknod=True) > + > + udev_settle() > + > > class MultipathDevice(DMDevice): > """ A multipath device """ > -- > 1.6.0.6 > > _______________________________________________ > 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