summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Kwolek <adam.kwolek@intel.com>2012-04-13 16:51:55 +0200
committerNeilBrown <neilb@suse.de>2012-04-17 12:33:37 +1000
commit36fd8ccc0e755042e3983a2bd02523461b5f8307 (patch)
tree0aecd02933d48e182ba7df523aebe9ce8f4191f0
parent0e7f69a873ac7dc24f696d15b2f01d474df26395 (diff)
downloadmdadm-36fd8ccc0e755042e3983a2bd02523461b5f8307.tar.gz
imsm: FIX: Update function imsm_num_data_members() for Raid1/10
Function imsm_num_data_members() returns wrong value for raid 1 and 10. It returns all data member but it should return number of unique data members (excluding mirror devices) Signed-off-by: Adam Kwolek <adam.kwolek@intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
-rw-r--r--super-intel.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/super-intel.c b/super-intel.c
index 088e6bc..5f86539 100644
--- a/super-intel.c
+++ b/super-intel.c
@@ -2032,9 +2032,11 @@ static __u8 imsm_num_data_members(struct imsm_dev *dev, int second_map)
switch (get_imsm_raid_level(map)) {
case 0:
+ return map->num_members;
+ break;
case 1:
case 10:
- return map->num_members;
+ return map->num_members/2;
case 5:
return map->num_members - 1;
default: