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

[PATCH 2/3] Improve platform.checkBootRequest() mdarray handling



1) When a platform does not support /boot on mdarray's don't give
   both the /boot cannot be on RAID != level 1 and the /boot on RAID is
   not supported errors
2) Enfore that RAID1 /boot members are partitions. This is necessary now that
   we support whole disk RAID set members.
---
 platform.py |   17 +++++++++++------
 1 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/platform.py b/platform.py
index 94b85d9..a19ce36 100644
--- a/platform.py
+++ b/platform.py
@@ -112,17 +112,22 @@ class Platform(object):
         if not req:
             return [_("You have not created a bootable partition.")]
 
-        if req.type == "mdarray" and req.level != 1:
-            errors.append(_("Bootable partitions can only be on RAID1 devices."))
+        # most arches can't have boot on RAID
+        if req.type == "mdarray":
+            if not self.supportsMdRaidBoot:
+                errors.append(_("Bootable partitions cannot be on a RAID device."))
+            elif req.type == "mdarray" and req.level != 1:
+                errors.append(_("Bootable partitions can only be on RAID1 devices."))
+            else:
+                for p in req.parents:
+                    if p.type != "partition":
+                        errors.append(_("Bootable RAID1 set members must be partitions."))
+                        break
 
         # can't have bootable partition on LV
         if req.type == "lvmlv":
             errors.append(_("Bootable partitions cannot be on a logical volume."))
 
-        # most arches can't have boot on RAID
-        if req.type == "mdarray" and not self.supportsMdRaidBoot:
-            errors.append(_("Bootable partitions cannot be on a RAID device."))
-
         # Make sure /boot is on a supported FS type.  This prevents crazy
         # things like boot on vfat.
         if not req.format.bootable or \
-- 
1.6.6


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