diff options
author | Sowmini Varadhan <sowmini.varadhan@oracle.com> | 2016-06-13 12:44:39 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-06-15 02:50:43 -0400 |
commit | fb1b3dc43dabd4bf7b57b3d63fd2875a499c81f0 (patch) | |
tree | 2784d9fbc250048373c7ee4de50d683a1fafc87c /net/rds | |
parent | 992c9ec5fe1d0c7859e158ee22f293cbee95c6a3 (diff) |
RDS: Add rds_conn_path_error()
rds_conn_path_error() is the MP-aware analog of rds_conn_error,
to be used by multipath-capable callers.
Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/rds')
-rw-r--r-- | net/rds/connection.c | 12 | ||||
-rw-r--r-- | net/rds/rds.h | 4 | ||||
-rw-r--r-- | net/rds/threads.c | 3 |
3 files changed, 18 insertions, 1 deletions
diff --git a/net/rds/connection.c b/net/rds/connection.c index 9e0b489aea41..57556e615ce2 100644 --- a/net/rds/connection.c +++ b/net/rds/connection.c | |||
@@ -655,3 +655,15 @@ __rds_conn_error(struct rds_connection *conn, const char *fmt, ...) | |||
655 | 655 | ||
656 | rds_conn_drop(conn); | 656 | rds_conn_drop(conn); |
657 | } | 657 | } |
658 | |||
659 | void | ||
660 | __rds_conn_path_error(struct rds_conn_path *cp, const char *fmt, ...) | ||
661 | { | ||
662 | va_list ap; | ||
663 | |||
664 | va_start(ap, fmt); | ||
665 | vprintk(fmt, ap); | ||
666 | va_end(ap); | ||
667 | |||
668 | rds_conn_path_drop(cp); | ||
669 | } | ||
diff --git a/net/rds/rds.h b/net/rds/rds.h index 74fcf5a28723..85f98bd88c1c 100644 --- a/net/rds/rds.h +++ b/net/rds/rds.h | |||
@@ -669,6 +669,10 @@ void __rds_conn_error(struct rds_connection *conn, const char *, ...); | |||
669 | #define rds_conn_error(conn, fmt...) \ | 669 | #define rds_conn_error(conn, fmt...) \ |
670 | __rds_conn_error(conn, KERN_WARNING "RDS: " fmt) | 670 | __rds_conn_error(conn, KERN_WARNING "RDS: " fmt) |
671 | 671 | ||
672 | void __rds_conn_path_error(struct rds_conn_path *cp, const char *, ...); | ||
673 | #define rds_conn_path_error(cp, fmt...) \ | ||
674 | __rds_conn_path_error(cp, KERN_WARNING "RDS: " fmt) | ||
675 | |||
672 | static inline int | 676 | static inline int |
673 | rds_conn_path_transition(struct rds_conn_path *cp, int old, int new) | 677 | rds_conn_path_transition(struct rds_conn_path *cp, int old, int new) |
674 | { | 678 | { |
diff --git a/net/rds/threads.c b/net/rds/threads.c index 50d26576dee7..94cca66ba5d6 100644 --- a/net/rds/threads.c +++ b/net/rds/threads.c | |||
@@ -163,7 +163,8 @@ void rds_connect_worker(struct work_struct *work) | |||
163 | RDS_CONN_DOWN)) | 163 | RDS_CONN_DOWN)) |
164 | rds_queue_reconnect(cp); | 164 | rds_queue_reconnect(cp); |
165 | else | 165 | else |
166 | rds_conn_error(conn, "RDS: connect failed\n"); | 166 | rds_conn_path_error(cp, |
167 | "RDS: connect failed\n"); | ||
167 | } | 168 | } |
168 | } | 169 | } |
169 | } | 170 | } |