[PATCH 1/4] Don't include incomplete or degraded md arrays in the devicetree.

David Lehman dlehman at redhat.com
Tue Jul 10 16:38:33 UTC 2012


---
 pyanaconda/storage/devicetree.py |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/pyanaconda/storage/devicetree.py b/pyanaconda/storage/devicetree.py
index 5d50986..907c315 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)
-- 
1.7.7.6



More information about the anaconda-patches mailing list