]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - net/sunrpc/clnt.c
Merge branches 'pm-core', 'pm-qos', 'pm-domains' and 'pm-opp'
[linux.git] / net / sunrpc / clnt.c
index 62a482790937b54a5d486bc932289b0fb14da248..1dc9f3bac0997384a9b3daab33d8ceeda3d726d9 100644 (file)
@@ -336,6 +336,11 @@ static int rpc_client_register(struct rpc_clnt *clnt,
 
 static DEFINE_IDA(rpc_clids);
 
+void rpc_cleanup_clids(void)
+{
+       ida_destroy(&rpc_clids);
+}
+
 static int rpc_alloc_clid(struct rpc_clnt *clnt)
 {
        int clid;
@@ -1926,6 +1931,8 @@ call_connect_status(struct rpc_task *task)
        case -EADDRINUSE:
        case -ENOBUFS:
        case -EPIPE:
+               xprt_conditional_disconnect(task->tk_rqstp->rq_xprt,
+                                           task->tk_rqstp->rq_connect_cookie);
                if (RPC_IS_SOFTCONN(task))
                        break;
                /* retry with existing socket, after a delay */