]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
monitor: read_and_act: log status when called
authorMartin Wilck <mwilck@arcor.de>
Tue, 30 Jul 2013 21:18:30 +0000 (23:18 +0200)
committerNeilBrown <neilb@suse.de>
Wed, 31 Jul 2013 02:57:20 +0000 (12:57 +1000)
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>
monitor.c

index 67b40b19362cc9c3aa50e957c708649df8b8492c..780b6099939b7e9cc6a539a5742032a194afb2f6 100644 (file)
--- 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