From 24a216bf408db4ec61ec6f735d1eb84a0618bfbb Mon Sep 17 00:00:00 2001 From: "mwilck@arcor.de" Date: Mon, 8 Jul 2013 23:50:38 +0200 Subject: [PATCH] Monitor: Don't write metadata in inactive array state The kernel docs state that meta data is never written in states clear, inactive, suspended, readonly, and read_auto. Why should this be different for containers? We need to write metadata when the array is disabled, though. Tested with the DDF (10*) and IMSM (9*) tests, works. Signed-off-by: NeilBrown --- monitor.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/monitor.c b/monitor.c index 47432b2..67b40b1 100644 --- a/monitor.c +++ b/monitor.c @@ -416,7 +416,8 @@ static int read_and_act(struct active_array *a) if (sync_completed > a->last_checkpoint) a->last_checkpoint = sync_completed; - a->container->ss->sync_metadata(a->container); + if (deactivate || a->curr_state >= clean) + a->container->ss->sync_metadata(a->container); dprintf("%s(%d): state:%s action:%s next(", __func__, a->info.container_member, array_states[a->curr_state], sync_actions[a->curr_action]); -- 1.8.3.1