]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
imsm: FIX: Update function imsm_num_data_members() for Raid1/10
authorAdam Kwolek <adam.kwolek@intel.com>
Fri, 13 Apr 2012 14:51:55 +0000 (16:51 +0200)
committerNeilBrown <neilb@suse.de>
Tue, 17 Apr 2012 02:33:37 +0000 (12:33 +1000)
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>
super-intel.c

index 088e6bc18e5b1274db1861d9d2978d50db9457ff..5f865396e21d74dbcc51c1ed6f4e2eb89a6c72a5 100644 (file)
@@ -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: