From: Adam Kwolek Date: Mon, 31 Jan 2011 07:59:30 +0000 (+0100) Subject: imsm: Update metadata for second array X-Git-Tag: mdadm-3.2~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=820eb8dba77b3b0aa7351aedf1af252a725d8f6f;p=thirdparty%2Fmdadm.git imsm: Update metadata for second array 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 Signed-off-by: NeilBrown --- diff --git a/super-intel.c b/super-intel.c index 8484df65..0ab43552 100644 --- a/super-intel.c +++ b/super-intel.c @@ -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;