From: Martin Wilck Date: Tue, 30 Jul 2013 21:18:30 +0000 (+0200) Subject: monitor: read_and_act: log status when called X-Git-Tag: mdadm-3.3~53 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=39da26ecf51137f9b7c6574cc725b061025c523f;p=thirdparty%2Fmdadm.git monitor: read_and_act: log status when called read_and_act() currently prints a debug message only very late. Print the status seen by mdmon right away, to track mdmon's actions more closely. Add a time stamp to observe long delays between read_and_act calls, e.g. caused by meta data writes. Signed-off-by: Martin Wilck Signed-off-by: NeilBrown --- diff --git a/monitor.c b/monitor.c index 67b40b19..780b6099 100644 --- a/monitor.c +++ b/monitor.c @@ -234,6 +234,7 @@ static int read_and_act(struct active_array *a) struct mdinfo *mdi; int ret = 0; int count = 0; + struct timeval tv; a->next_state = bad_word; a->next_action = bad_action; @@ -258,6 +259,17 @@ static int read_and_act(struct active_array *a) } } + gettimeofday(&tv, NULL); + dprintf("%s(%d): %ld.%06ld state:%s prev:%s action:%s prev: %s start:%llu\n", + __func__, a->info.container_member, + tv.tv_sec, tv.tv_usec, + array_states[a->curr_state], + array_states[a->prev_state], + sync_actions[a->curr_action], + sync_actions[a->prev_action], + a->info.resync_start + ); + if (a->curr_state > inactive && a->prev_state == inactive) { /* array has been started