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 <mwilck@arcor.de>
Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
Martin Wilck 2013-07-30 23:18:30 +02:00 committed by NeilBrown
parent ce6844b99c
commit 39da26ecf5
1 changed files with 12 additions and 0 deletions

View File

@ -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