From 39da26ecf51137f9b7c6574cc725b061025c523f Mon Sep 17 00:00:00 2001 From: Martin Wilck Date: Tue, 30 Jul 2013 23:18:30 +0200 Subject: [PATCH] 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 --- monitor.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/monitor.c b/monitor.c index 67b40b1..780b609 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