]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
imsm: Disable checkpoint updating by mdmon for general migration
authorAdam Kwolek <adam.kwolek@intel.com>
Wed, 8 Jun 2011 07:11:49 +0000 (17:11 +1000)
committerNeilBrown <neilb@suse.de>
Wed, 8 Jun 2011 07:11:49 +0000 (17:11 +1000)
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 <adam.kwolek@intel.com>
Signed-off-by: NeilBrown <neilb@suse.de>
super-intel.c

index 2d79fd821100f0faa52780e57cf29deb46a5fe92..7654a11721f14d71f7b98707daefdf466a2dd4fd 100644 (file)
@@ -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");