From b66e591b145c84d59270410a34abcd5136caa24f Mon Sep 17 00:00:00 2001 From: Adam Kwolek Date: Tue, 14 Jun 2011 12:42:16 +1000 Subject: 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 Signed-off-by: NeilBrown --- super-intel.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/super-intel.c b/super-intel.c index 4f674bf..d8464b7 100644 --- a/super-intel.c +++ b/super-intel.c @@ -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; -- cgit v1.2.1