Commit df458c00 authored by Trond Myklebust's avatar Trond Myklebust

[PATCH] Fix NFS locking bug

Here's one bugfix which might help to explain the GRANTED failure. The
bug has been there all along (so I'll probably want to send this to
Marcelo too).

The code in question in supposed to ensure that we don't wait on a
reply if the RPC call doesn't expect one. However, if the socket
transmission failed for some reason, we do actually want to loop and
try again...

This bug will hit the RPC call in nlmsvc_grant_blocked().
parent 0d84f0ac
...@@ -577,7 +577,7 @@ call_transmit(struct rpc_task *task) ...@@ -577,7 +577,7 @@ call_transmit(struct rpc_task *task)
if (task->tk_status < 0) if (task->tk_status < 0)
return; return;
xprt_transmit(task); xprt_transmit(task);
if (!rpcproc_decode(clnt, task->tk_msg.rpc_proc)) { if (!rpcproc_decode(clnt, task->tk_msg.rpc_proc) && task->tk_status >= 0) {
task->tk_action = NULL; task->tk_action = NULL;
rpc_wake_up_task(task); rpc_wake_up_task(task);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment