On Fri, 16 Dec 2011 08:32:07 +0000 "Kwolek, Adam" [off-list ref]
wrote:
I've checked, you are right. OROM check will resolve problem.
Do you post your patch or I should do it? We are short of time regarding Neil's plans about v3.2.3
I've created a commit myself. See below.
Thanks,
NeilBrown
From 5fe62b9455b6b43f050f3a52610ce1048a44623c Mon Sep 17 00:00:00 2001
From: "Williams, Dan J" <redacted>
Date: Wed, 14 Dec 2011 18:21:07 -0800
Subject: [PATCH] imsm: FIX: UT '08imsm-overlap' fails
Make test for all sub arrays having the same number of devices
dependant on the option ROM requirements being checked.
08imsm-overlap disables the OROM check but then fails because this
test causes it to.
Reported-by: Adam Kwolek <redacted>
Signed-off-by: NeilBrown <redacted>
diff --git a/super-intel.c b/super-intel.c
index 9074485..0e77537 100644
--- a/super-intel.c
+++ b/super-intel.c
@@ -5314,12 +5314,6 @@ static int validate_geometry_imsm_volume(struct supertype *st, int level,
mpb = super->anchor;
- if (mpb->num_raid_devs > 0 && mpb->num_disks != raiddisks) {
- fprintf(stderr, Name ": the option-rom requires all "
- "member disks to be a member of all volumes.\n");
- return 0;
- }
-
if (!validate_geometry_imsm_orom(super, level, layout, raiddisks, chunk, verbose)) {
fprintf(stderr, Name ": RAID gemetry validation failed. "
"Cannot proceed with the action(s).\n");@@ -5398,6 +5392,11 @@ static int validate_geometry_imsm_volume(struct supertype *st, int level,
fprintf(stderr, Name ": The option-rom requires all member"
" disks to be a member of all volumes\n");
return 0;
+ } else if (super->orom && mpb->num_raid_devs > 0 &&
+ mpb->num_disks != raiddisks) {
+ fprintf(stderr, Name ": The option-rom requires all member"
+ " disks to be a member of all volumes\n");
+ return 0;
}
/* retrieve the largest free space block */