]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
imsm: Update metadata for second array
authorAdam Kwolek <adam.kwolek@intel.com>
Mon, 31 Jan 2011 07:59:30 +0000 (08:59 +0100)
committerNeilBrown <neilb@suse.de>
Mon, 31 Jan 2011 23:31:06 +0000 (10:31 +1100)
When second array reshape is about to start external metadata should
be updated by mdmon in imsm_set_array_state().  For this purposes
imsm_progress_container_reshape() is reused.

Signed-off-by: Adam Kwolek <adam.kwolek@intel.com>
Signed-off-by: NeilBrown <neilb@suse.de>
super-intel.c

index 8484df65be9517c8bb5268182961e10d785eb468..0ab435523d67afdd69baf2594aff6f9c8f9ed72d 100644 (file)
@@ -5249,13 +5249,17 @@ static int imsm_set_array_state(struct active_array *a, int consistent)
                super->updates_pending++;
        }
 
-       /* finalize online capacity expansion/reshape */
+       /* manage online capacity expansion/reshape */
        if ((a->curr_action != reshape) &&
            (a->prev_action == reshape)) {
                struct mdinfo *mdi;
 
+               /* finalize online capacity expansion/reshape */
                for (mdi = a->info.devs; mdi; mdi = mdi->next)
                        imsm_set_disk(a, mdi->disk.raid_disk, mdi->curr_state);
+
+               /* check next volume reshape */
+               imsm_progress_container_reshape(super);
        }
 
        return consistent;