summaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2009-07-09 09:08:58 +0200
committerHans de Goede <hdegoede@redhat.com>2009-07-09 09:08:58 +0200
commit5f083354638243926be4c1f87da190390fe6c807 (patch)
tree5139c7363c1fe55fd432e69a132bb9672673a4a2 /storage
parent3917cabf1823d37e6a11c7ccfb4abae7c8fdc30f (diff)
downloadanaconda-5f083354638243926be4c1f87da190390fe6c807.tar.gz
anaconda-5f083354638243926be4c1f87da190390fe6c807.tar.xz
anaconda-5f083354638243926be4c1f87da190390fe6c807.zip
Reverse: "Support for MD containers"
Reverse most of commit 9e4d2e76713c9c71dcdaf22767211c13be9b3668, because it currently is not working and MD containers can for 99.9 % be treated as regular mdarrays. The next patch from this set instead makes the necessary changes to use the regular mdarray handling code, reducing the amount of code.
Diffstat (limited to 'storage')
-rw-r--r--storage/devices.py31
-rw-r--r--storage/devicetree.py70
-rw-r--r--storage/udev.py4
3 files changed, 0 insertions, 105 deletions
diff --git a/storage/devices.py b/storage/devices.py
index 817d0194f..82ebef732 100644
--- a/storage/devices.py
+++ b/storage/devices.py
@@ -2580,37 +2580,6 @@ class MDRaidArrayDevice(StorageDevice):
# real work, but it isn't our place to do it from here.
self.exists = False
-class MDRaidContainerDevice(MDRaidArrayDevice):
- """ An mdraid container device.
- """
- _type = "mdcontainer"
- _devDir = "/dev/md"
-
- def __init__(self, name,
- memberDevices=None,
- uuid=None, exists=None,
- parents=None):
- """ Create a MDRaidContainerDevice instance.
-
- Arguments:
-
- name -- the device name (generally a device node's basename)
-
- Keyword Arguments:
-
- parents -- list of member devices (StorageDevice instances)
- uuid -- the device's UUID
- exists -- indicates whether this is an existing device
- """
- MDRaidArrayDevice.__init__(self, name,
- memberDevices=memberDevices,
- uuid=uuid, exists=exists, parents=parents)
-
- def addFirstDevice(self, path):
- mdraid.mdadd(path, True)
- udev_settle(timeout=10)
- real=os.readlink(self.path).split('/')[1]
- self.sysfsPath = "/devices/virtual/block/%s" % real
class DMRaidArrayDevice(DiskDevice):
""" A dmraid (device-mapper RAID) device """
diff --git a/storage/devicetree.py b/storage/devicetree.py
index a5fd63f1f..e3826ef99 100644
--- a/storage/devicetree.py
+++ b/storage/devicetree.py
@@ -978,68 +978,6 @@ class DeviceTree(object):
return device
-
- def addUdevMDContainerDevice(self, info):
- log.debug("info=%s" % info)
- if info.has_key("MD_DEVNAME"):
- log.debug("real MD container")
- else:
- log.debug("isw md member")
- name = udev_device_get_name(info)
- sysfs_path = udev_device_get_sysfs_path(info)
-
- device = StorageDevice(name,
- major=udev_device_get_major(info),
- minor=udev_device_get_minor(info),
- sysfsPath=sysfs_path, exists=True)
- self._addDevice(device)
-
- format_type = udev_device_get_format(info)
- args = [format_type]
- kwargs = {"mdUuid": udev_device_get_md_uuid(info),
- "uuid": udev_device_get_uuid(info),
- "label": udev_device_get_label(info),
- "device": device.path,
- "exists": True}
-
- log.debug("uuid=%s" % kwargs["uuid"])
- log.debug("mdUuid=%s" % kwargs["mdUuid"])
- device.format = formats.getFormat(*args, **kwargs)
- log.debug("format=%s mdUuid=%s" % (device.format, device.format.mdUuid))
-
- if device.format.mdUuid:
- md_array = self.getDeviceByUuid(device.format.mdUuid)
- if md_array:
- log.debug("_addDevice to array")
- md_array._addDevice(device)
- else:
- try:
- md_level = udev_device_get_md_level(info)
- md_devices = int(udev_device_get_md_devices(info))
- md_uuid = udev_device_get_md_uuid(info)
- except (KeyError, ValueError) as e:
- log.warning("invalid data for %s: %s" % (name, e))
- return
-
- minor = 0
- while True:
- if self.getDeviceByName("imsm%d" % minor):
- minor += 1
- else:
- break
- md_name = "imsm%d" % minor
- md_array = MDRaidContainerDevice(name=md_name,
- memberDevices=md_devices,
- uuid=md_uuid,
- exists=True,
- parents=[device])
- try:
- md_array.addFirstDevice(device.path)
- self._addDevice(md_array)
- return
- except MDRaidError as e:
- log.warning("failed to add member to md array %s" % e)
-
def addUdevMDDevice(self, info):
name = udev_device_get_name(info)
log_method_call(self, name=name)
@@ -1239,14 +1177,6 @@ class DeviceTree(object):
if device is None:
device = self.addUdevDMDevice(info)
- elif udev_device_is_md_container(info):
- log.debug("%s is an md container device" % name)
- if device is None and uuid:
- # try to find the device by uuid
- device = self.getDeviceByUuid(uuid)
-
- if device is None:
- device = self.addUdevMDContainerDevice(info)
elif udev_device_is_md(info):
log.debug("%s is an md device" % name)
if device is None and uuid:
diff --git a/storage/udev.py b/storage/udev.py
index aa2f7d98a..7571baf9f 100644
--- a/storage/udev.py
+++ b/storage/udev.py
@@ -218,10 +218,6 @@ def udev_device_is_dm(info):
""" Return True if the device is a device-mapper device. """
return info.has_key("DM_NAME")
-def udev_device_is_md_container(info):
- """ Return True if the device is a mdraid container device. """
- return info.get("MD_LEVEL") == "container"
-
def udev_device_is_md(info):
""" Return True if the device is a mdraid array device. """
return info.has_key("MD_DEVNAME") and \