summaryrefslogtreecommitdiffstats
path: root/pyanaconda
diff options
context:
space:
mode:
Diffstat (limited to 'pyanaconda')
-rw-r--r--pyanaconda/storage/devicetree.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/pyanaconda/storage/devicetree.py b/pyanaconda/storage/devicetree.py
index 5d5098692..907c315db 100644
--- a/pyanaconda/storage/devicetree.py
+++ b/pyanaconda/storage/devicetree.py
@@ -1678,6 +1678,15 @@ class DeviceTree(object):
for leaf in filter(lambda leaf: leaf.type == "lvmvg" and not leaf.complete, self.leaves):
leafInconsistencies(leaf)
+ for md in [d for d in self.leaves if d.type == "mdarray" and len(d.parents) < d.memberDevices]:
+ log.debug("removing incomplete/degraded md array %s" % md.name)
+ try:
+ md.teardown()
+ except StorageError as e:
+ log.error("failed to deactivate %s: %s" % (md.name, e))
+
+ self._removeDevice(md)
+
def _recursiveRemove(self, device):
for d in self.getChildren(device):
self._recursiveRemove(d)