summaryrefslogtreecommitdiff
path: root/net/rds/threads.c
diff options
context:
space:
mode:
authorSowmini Varadhan <sowmini.varadhan@oracle.com>2016-07-01 02:11:16 +0300
committerDavid S. Miller <davem@davemloft.net>2016-07-01 23:45:17 +0300
commitb04e8554f7637999af8f54cca4dcfcf49f2ae7c8 (patch)
treeff29f60508fe2d0ee6b10b7f0c66d317288b9308 /net/rds/threads.c
parent2da43c4a1b517d02e71d9611a2242273e7d399ba (diff)
downloadlinux-b04e8554f7637999af8f54cca4dcfcf49f2ae7c8.tar.xz
RDS: TCP: Hooks to set up a single connection path
This patch adds ->conn_path_connect callbacks in the rds_transport that are used to set up a single connection path. Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com> Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/rds/threads.c')
-rw-r--r--net/rds/threads.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/rds/threads.c b/net/rds/threads.c
index f717b69e03f9..e8f0941f0548 100644
--- a/net/rds/threads.c
+++ b/net/rds/threads.c
@@ -152,8 +152,9 @@ void rds_connect_worker(struct work_struct *work)
int ret;
clear_bit(RDS_RECONNECT_PENDING, &cp->cp_flags);
- if (rds_conn_path_transition(cp, RDS_CONN_DOWN, RDS_CONN_CONNECTING)) {
- ret = conn->c_trans->conn_connect(conn);
+ ret = rds_conn_path_transition(cp, RDS_CONN_DOWN, RDS_CONN_CONNECTING);
+ if (ret) {
+ ret = conn->c_trans->conn_path_connect(cp);
rdsdebug("conn %p for %pI4 to %pI4 dispatched, ret %d\n",
conn, &conn->c_laddr, &conn->c_faddr, ret);