diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-10-01 12:06:44 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-10-09 17:20:40 -0400 |
commit | b6e9c713f5c526a85893c6e0ab1d5d6c6f1ab479 (patch) | |
tree | cee9c5bc57c4c5bb0638508786513ea4cdb390fc /net/sunrpc | |
parent | 2199700f1d660494d2552278354422c51becb686 (diff) |
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')
-rw-r--r-- | net/sunrpc/clnt.c | 3 |
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) | |||
846 | dprintk("RPC: %5u rpc_buffer allocation failed\n", task->tk_pid); | 846 | dprintk("RPC: %5u rpc_buffer allocation failed\n", task->tk_pid); |
847 | 847 | ||
848 | if (RPC_IS_ASYNC(task) || !signalled()) { | 848 | if (RPC_IS_ASYNC(task) || !signalled()) { |
849 | xprt_release(task); | 849 | task->tk_action = call_allocate; |
850 | task->tk_action = call_reserve; | ||
851 | rpc_delay(task, HZ>>4); | 850 | rpc_delay(task, HZ>>4); |
852 | return; | 851 | return; |
853 | } | 852 | } |