From: mwilck@arcor.de Date: Mon, 8 Jul 2013 21:50:38 +0000 (+0200) Subject: Monitor: Don't write metadata in inactive array state X-Git-Tag: mdadm-3.3-rc2~39 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=24a216bf;p=thirdparty%2Fmdadm.git 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 --- diff --git a/monitor.c b/monitor.c index 47432b25..67b40b19 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]);