NFSv4: Fix _nfs4_do_setlk()
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Mon, 30 Jul 2018 02:21:22 +0000 (22:21 -0400)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Thu, 2 Aug 2018 03:17:06 +0000 (23:17 -0400)
commit6ea76bf51339506e9fb00d6caebf5d6b42a571e3
treeaad2ba8b9d40075cc43d3c9ac0a272a2ec969af6
parent9a97ebf7a6bbfc1e420d53f5281f5f44df1e510d
NFSv4: Fix _nfs4_do_setlk()

The patch to fix the case where a lock request was interrupted ended up
changing default handling of errors such as NFS4ERR_DENIED and caused the
client to immediately resend the lock request. Let's do a partial revert
of that request so that the default is now to exit, but change the way
we handle resends to take into account the fact that the user may have
interrupted the request.

Reported-by: Kenneth Johansson <ken@kenjo.org>
Fixes: a3cf9bca2ace ("NFSv4: Don't add a new lock on an interrupted wait..")
Cc: Benjamin Coddington <bcodding@redhat.com>
Cc: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
fs/nfs/nfs4proc.c