multipath: clear checker message
authorBenjamin Marzinski <bmarzins@redhat.com>
Wed, 27 Apr 2011 19:52:14 +0000 (14:52 -0500)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Wed, 27 Apr 2011 20:59:20 +0000 (22:59 +0200)
Clear the checker message at the start of get_state, so that stale checker
messages aren't accidentally printed.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
libmultipath/checkers.c
libmultipath/checkers.h
libmultipath/discovery.c

index 19d0781..5cc31d2 100644 (file)
@@ -183,6 +183,11 @@ char * checker_message (struct checker * c)
        return c->message;
 }
 
+void checker_clear_message (struct checker *c)
+{
+       c->message[0] = '\0';
+}
+
 void checker_get (struct checker * dst, char * name)
 {
        struct checker * src = checker_lookup(name);
index 272cd8f..e61280d 100644 (file)
@@ -114,6 +114,7 @@ int checker_check (struct checker *);
 int checker_selected (struct checker *);
 char * checker_name (struct checker *);
 char * checker_message (struct checker *);
+void checker_clear_message (struct checker *c);
 void checker_get (struct checker *, char *);
 
 #endif /* _CHECKERS_H */
index 3b443e2..aa25cc4 100644 (file)
@@ -848,6 +848,7 @@ get_state (struct path * pp, int daemon)
                        return PATH_UNCHECKED;
                }
        }
+       checker_clear_message(c);
        state = path_offline(pp);
        if (state != PATH_UP) {
                condlog(3, "%s: path inaccessible", pp->dev);