summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliams, Dan J <dan.j.williams@intel.com>2011-12-15 03:21:07 +0100
committerNeilBrown <neilb@suse.de>2011-12-20 00:36:21 +0100
commit5fe62b9455b6b43f050f3a52610ce1048a44623c (patch)
tree1ebf0bf0e8a6c5738743eb345ee6ad4c44790cdd
parentRemove update_private (diff)
downloadmdadm-5fe62b9455b6b43f050f3a52610ce1048a44623c.tar.xz
mdadm-5fe62b9455b6b43f050f3a52610ce1048a44623c.zip
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 <adam.kwolek@intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
-rw-r--r--super-intel.c11
1 files 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 */