]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
imsm: incorrect incremental behavior because of wrong index used
authorPrzemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski@intel.com>
Thu, 24 Nov 2011 05:23:21 +0000 (16:23 +1100)
committerNeilBrown <neilb@suse.de>
Thu, 24 Nov 2011 05:23:21 +0000 (16:23 +1100)
Incremental in some cases prematurely assembles degraded arrays due to
wrong index used in code which counts missing disks

Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski@intel.com>
Signed-off-by: NeilBrown <neilb@suse.de>
Reviewed-by: Dan Williams <dan.j.williams@intel.com>
super-intel.c

index 360c4ccb16de83bdca13fe4569174af7f5159271..a0672bf3b5803d1782344fccda79ace43dccd7ec 100644 (file)
@@ -2539,7 +2539,7 @@ static void getinfo_super_imsm(struct supertype *st, struct mdinfo *info, char *
                 * (catches single-degraded vs double-degraded)
                 */
                for (j = 0; j < map->num_members; j++) {
-                       __u32 ord = get_imsm_ord_tbl_ent(dev, i, 0);
+                       __u32 ord = get_imsm_ord_tbl_ent(dev, j, 0);
                        __u32 idx = ord_to_idx(ord);
 
                        if (!(ord & IMSM_ORD_REBUILD) &&