Re: [PATCH] Create setup and teardown functs for dmraid devs.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux