]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - super-intel.c
imsm: FIX: Mark failure for rebuild
[thirdparty/mdadm.git] / super-intel.c
index 217a1963eec7f489b2b50814d9772c9611472132..de07f6602f9f1bcbbf80215efa43f45a4f88c09d 100644 (file)
@@ -6158,7 +6158,11 @@ static int mark_failure(struct imsm_dev *dev, struct imsm_disk *disk, int idx)
 
        disk->status |= FAILED_DISK;
        set_imsm_ord_tbl_ent(map, slot, idx | IMSM_ORD_REBUILD);
-       if (is_gen_migration(dev)) {
+       /* mark failures in second map if second map exists and this disk
+        * in this slot.
+        * This is valid for migration, initialization and rebuild
+        */
+       if (dev->vol.migr_state) {
                struct imsm_map *map2 = get_imsm_map(dev, 1);
                if (slot < map2->num_members)
                        set_imsm_ord_tbl_ent(map2, slot,