]> git.hungrycats.org Git - linux/commitdiff
[PATCH] Fix NFS locking bug
authorTrond Myklebust <trond.myklebust@fys.uio.no>
Thu, 18 Jul 2002 03:44:41 +0000 (20:44 -0700)
committerTrond Myklebust <trond.myklebust@fys.uio.no>
Thu, 18 Jul 2002 03:44:41 +0000 (20:44 -0700)
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().

net/sunrpc/clnt.c

index 657deb7640ee5285d90843c986a1e860d72ff109..4d98ac870e8564049ab1418a896832d21c688a48 100644 (file)
@@ -577,7 +577,7 @@ call_transmit(struct rpc_task *task)
        if (task->tk_status < 0)
                return;
        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;
                rpc_wake_up_task(task);
        }