imsm: FIX: Disable automatic metadata rollback for broken reshape

mdmon cannot rollback metadata changes automatically.
It can break reshape process in the way that in case of reshape break
user will not be able to deal with broken reshape due to lack of information
about reshape geometry.

mdadm (process that invokes reshape) doesn't make any rollback to allow
for user action. mdmon should not do this either unless it knows for sure
it is save. such knowledge is not available for automatic rollback.

Signed-off-by: Adam Kwolek <adam.kwolek@intel.com>
Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
Adam Kwolek 2011-06-14 12:42:16 +10:00 committed by NeilBrown
parent 68eb8bc6ca
commit b66e591b14
1 changed files with 5 additions and 1 deletions

View File

@ -5856,14 +5856,18 @@ static int imsm_set_array_state(struct active_array *a, int consistent)
} else {
if (a->last_checkpoint == 0 && a->prev_action == reshape) {
/* for some reason we aborted the reshape.
* Better clean up
*
* disable automatic metadata rollback
* user action is required to recover process
*/
if (0) {
struct imsm_map *map2 = get_imsm_map(dev, 1);
dev->vol.migr_state = 0;
dev->vol.migr_type = 0;
dev->vol.curr_migr_unit = 0;
memcpy(map, map2, sizeof_imsm_map(map2));
super->updates_pending++;
}
}
if (a->last_checkpoint >= a->info.component_size) {
unsigned long long array_blocks;