This series contains fixes for reshape restart (external metadata) and makes process workable. In general your idea of reusing reshape_container() works. The main problem I've found is opening read only array for writing. Fortunately during reshape restart we do not need any array writes, so read only access is enough. In patch 'FIX: Unfreeze array on success only during reshape continuation' I've blocked unfreezing array after reshape restart in case of error. This causes mdmon to not touch such array and user can take some actions. I've fixed problem dirty array assembly also. Fix is almost as you proposed. Known issues: 1. Container reshape half way (corner case) When 2 arrays are in container and first is under near finished reshape (during restart), it can occur that reshape_container() could want to reshape second array before it is assembled Probably for container reshape continuation we should wait (after fork() in reshape_container()) for assembly finish. 2. when first array in container reshape is restarted, second array is not frozen BR Adam --- Adam Kwolek (9): imsm : FIX: Assemble dirty array when reshape is in progress FIX: Set 'active' array state before array configuration FIX: Array cannot be opened for writing on restart FIX: Cannot continue reshape if mdmon is not run FIX: Unfreeze array on success only during reshape continuation imsm: FIX: Do not clean checkpoint for active reshape FIX: Make expansion counter usable FIX: Block reshaped array monitoring FIX: Load container content for container reshape continuation Assemble.c | 39 ++++++++++++++++++++++++--------------- Grow.c | 38 +++++++++++++++++++++++++++++++++----- super-intel.c | 19 +++++++++++++------ 3 files changed, 70 insertions(+), 26 deletions(-) -- Signature -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html