From 5fe62b9455b6b43f050f3a52610ce1048a44623c Mon Sep 17 00:00:00 2001 From: "Williams, Dan J" 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 Signed-off-by: NeilBrown --- super-intel.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/super-intel.c b/super-intel.c index 9074485a..0e775379 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 */ -- 2.39.2