From 177889945307b38dabae42b9e937312866536829 Mon Sep 17 00:00:00 2001 From: Adam Kwolek Date: Wed, 7 Dec 2011 13:58:22 +0100 Subject: [PATCH] imsm: FIX: Mark failure for rebuild Allow for marking failures in second map during rebuild and initialization also (not during migration only) Signed-off-by: Adam Kwolek Signed-off-by: NeilBrown --- super-intel.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/super-intel.c b/super-intel.c index 217a196..de07f66 100644 --- a/super-intel.c +++ b/super-intel.c @@ -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,