]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
imsm: FIX: Mark failure for rebuild
authorAdam Kwolek <adam.kwolek@intel.com>
Wed, 7 Dec 2011 12:58:22 +0000 (13:58 +0100)
committerNeilBrown <neilb@suse.de>
Thu, 8 Dec 2011 03:08:21 +0000 (14:08 +1100)
Allow for marking failures in second map during rebuild and initialization
also (not during migration only)

Signed-off-by: Adam Kwolek <adam.kwolek@intel.com>
Signed-off-by: NeilBrown <neilb@suse.de>
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,