[PATCH 0/9] Reshape restart from checkpoint
flat view
STALE5693d
From: Adam Kwolek <hidden>
Date: 2011-03-09 13:45:29
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