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

[PATCH] installer fails when drive is already partitioned - system with multipath

This is for defect https://bugzilla.redhat.com/show_bug.cgi?id=761278

This is for a system that is connected to a SAS (Serial Attached SCSI) multipath array.
When I choose "Use All Space" and verify that "Use LVM" is enabled, I see 2 drives available.
When I pick the first drive to install on, I get the following failure message:
"Error Partitioning Could not find enough free space for automatic
partitioning, please use another partition method."

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

diff --git a/pyanaconda/storage/devicetree.py b/pyanaconda/storage/devicetree.py
index 7b411e6..f545ba8 100644
--- a/pyanaconda/storage/devicetree.py
+++ b/pyanaconda/storage/devicetree.py
@@ -1876,6 +1876,18 @@ class DeviceTree(object):
                  [d['name'] for d in self.topology.devices_iter()])
         old_devices = {}
         for dev in self.topology.devices_iter():
+            # 761278
+            # The basic problem is that the code in the devicetree to handle scanning and
+            # activating multipath devices does not work if the mpaths are already active
+            # when the devicetree scans the system. Since anaconda scans for devices at least
+            # twice during install, only the first scan is successful as far as mpaths go.
+            # One possible solution that occurs to me is to ignore dm devices when iterating
+            # self.topology.devices_iter in DeviceTree._populate. They'll get scanned in the
+            # subsequent loops after the mpath-specific set has been done.
+            if dev['name'].startswith("dm-"):
+                log.debug("Skipping a device mapper drive (%s) for now" % dev['name'])
+                continue
             old_devices[dev['name']] = dev
             if progressWindow:

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