summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Granados Moreno <jgranado@redhat.com>2009-03-24 14:32:49 +0100
committerJoel Granados Moreno <jgranado@redhat.com>2009-04-02 17:49:46 +0200
commit76d838cc4610f2c1e2099f5badd28d1cc65b0c18 (patch)
tree36d21159af5de4a06ae105ec1ceb52f57ab5caf7
parente58e33800372627c77ddad6b32b8b2b3dbdebbd9 (diff)
downloadanaconda-76d838cc4610f2c1e2099f5badd28d1cc65b0c18.tar.gz
anaconda-76d838cc4610f2c1e2099f5badd28d1cc65b0c18.tar.xz
anaconda-76d838cc4610f2c1e2099f5badd28d1cc65b0c18.zip
Create setup and teardown functs for dmraid devs.
* 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.
-rw-r--r--storage/devices.py32
1 files changed, 25 insertions, 7 deletions
diff --git a/storage/devices.py b/storage/devices.py
index 32e4c2344..da9aacc85 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:
+ raise DeviceError("device has not been created")
+
+ if self.format.exists:
+ self.format.teardown()
+
+ # This call already checks if the set is not active.
+ 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 """