Merge tag 'nfs-for-4.3-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs
[cascardo/linux.git] / net / rds / tcp_connect.c
index 973109c..5cb1687 100644 (file)
@@ -79,7 +79,8 @@ int rds_tcp_conn_connect(struct rds_connection *conn)
        struct sockaddr_in src, dest;
        int ret;
 
-       ret = sock_create(PF_INET, SOCK_STREAM, IPPROTO_TCP, &sock);
+       ret = sock_create_kern(rds_conn_net(conn), PF_INET,
+                              SOCK_STREAM, IPPROTO_TCP, &sock);
        if (ret < 0)
                goto out;
 
@@ -111,10 +112,12 @@ int rds_tcp_conn_connect(struct rds_connection *conn)
        rdsdebug("connect to address %pI4 returned %d\n", &conn->c_faddr, ret);
        if (ret == -EINPROGRESS)
                ret = 0;
-       if (ret == 0)
+       if (ret == 0) {
+               rds_tcp_keepalive(sock);
                sock = NULL;
-       else
+       } else {
                rds_tcp_restore_callbacks(sock, conn->c_transport_data);
+       }
 
 out:
        if (sock)