From 5b83bacff6e27bd967858925a24044285c655251 Mon Sep 17 00:00:00 2001 From: Adam Kwolek Date: Wed, 8 Jun 2011 17:11:49 +1000 Subject: [PATCH] imsm: Disable checkpoint updating by mdmon for general migration imsm contains 2 check-pointing mechanism. One (per array) is used for initialization and rebuild and second (per container) is used for general migration (reshape). First is controlled by mdmon, second by mdadm. To avoid conflicts disable mdmon checkpoints updating for general migration. Signed-off-by: Adam Kwolek Signed-off-by: NeilBrown --- super-intel.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/super-intel.c b/super-intel.c index 2d79fd8..7654a11 100644 --- a/super-intel.c +++ b/super-intel.c @@ -5851,6 +5851,12 @@ static int imsm_set_array_state(struct active_array *a, int consistent) } mark_checkpoint: + /* skip checkpointing for general migration, + * it is controlled in mdadm + */ + if (is_gen_migration(dev)) + goto skip_mark_checkpoint; + /* check if we can update curr_migr_unit from resync_start, recovery_start */ blocks_per_unit = blocks_per_migr_unit(super, dev); if (blocks_per_unit) { @@ -5872,6 +5878,7 @@ mark_checkpoint: } } +skip_mark_checkpoint: /* mark dirty / clean */ if (dev->vol.dirty != !consistent) { dprintf("imsm: mark '%s'\n", consistent ? "clean" : "dirty");