summaryrefslogtreecommitdiff
path: root/net/sunrpc/clnt.c
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2007-10-01 20:06:44 +0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2007-10-10 01:20:40 +0400
commitb6e9c713f5c526a85893c6e0ab1d5d6c6f1ab479 (patch)
treecee9c5bc57c4c5bb0638508786513ea4cdb390fc /net/sunrpc/clnt.c
parent2199700f1d660494d2552278354422c51becb686 (diff)
downloadlinux-b6e9c713f5c526a85893c6e0ab1d5d6c6f1ab479.tar.xz
SUNRPC: Don't call xprt_release() if call_allocate fails
It completely fouls up the RPC call statistics, and serves no useful purpose. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'net/sunrpc/clnt.c')
-rw-r--r--net/sunrpc/clnt.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
index e9866fc93df1..e6a2678ecec3 100644
--- a/net/sunrpc/clnt.c
+++ b/net/sunrpc/clnt.c
@@ -846,8 +846,7 @@ call_allocate(struct rpc_task *task)
dprintk("RPC: %5u rpc_buffer allocation failed\n", task->tk_pid);
if (RPC_IS_ASYNC(task) || !signalled()) {
- xprt_release(task);
- task->tk_action = call_reserve;
+ task->tk_action = call_allocate;
rpc_delay(task, HZ>>4);
return;
}