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 <redacted>
---
super-intel.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/super-intel.c b/super-intel.c
index 8484df6..0ab4355 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;