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

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

 



* 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:
+            raise DeviceError("device has not been created")
+
+        if self.format.exists:
+            self.format.teardown()
+
+        if self.exists:
+            self._raidSet.deactivate()
+
+    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

[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