SUNRPC: remove some dead code.
authorNeilBrown <neilb@suse.com>
Fri, 18 Aug 2017 07:12:52 +0000 (17:12 +1000)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Wed, 6 Sep 2017 16:31:15 +0000 (12:31 -0400)
RPC_TASK_NO_RETRANS_TIMEOUT is set when cl_noretranstimeo
is set, which happens when  RPC_CLNT_CREATE_NO_RETRANS_TIMEOUT is set,
which happens when NFS_CS_NO_RETRANS_TIMEOUT is set.

This flag means "don't resend on a timeout, only resend if the
connection gets broken for some reason".

cl_discrtry is set when RPC_CLNT_CREATE_DISCRTRY is set, which
happens when NFS_CS_DISCRTRY is set.

This flag means "always disconnect before resending".

NFS_CS_NO_RETRANS_TIMEOUT and NFS_CS_DISCRTRY are both only set
in nfs4_init_client(), and it always sets both.

So we will never have a situation where only one of the flags is set.
So this code, which tests if timeout retransmits are allowed, and
disconnection is required, will never run.

So it makes sense to remove this code as it cannot be tested and
could confuse people reading the code (like me).

(alternately we could leave it there with a comment saying
 it is never actually used).

Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
net/sunrpc/clnt.c

index 69a9e59537449fdcabc158846b7a350dae7be5d0..2ad827db270422ed7f2c84aae374c234f445e6ab 100644 (file)
@@ -2147,10 +2147,6 @@ call_status(struct rpc_task *task)
                rpc_delay(task, 3*HZ);
        case -ETIMEDOUT:
                task->tk_action = call_timeout;
-               if (!(task->tk_flags & RPC_TASK_NO_RETRANS_TIMEOUT)
-                   && task->tk_client->cl_discrtry)
-                       xprt_conditional_disconnect(req->rq_xprt,
-                                       req->rq_connect_cookie);
                break;
        case -ECONNREFUSED:
        case -ECONNRESET: