NFSv4: Don't add a new lock on an interrupted wait for LOCK
authorBenjamin Coddington <bcodding@redhat.com>
Thu, 3 May 2018 11:12:57 +0000 (07:12 -0400)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Thu, 31 May 2018 19:02:16 +0000 (15:02 -0400)
commita3cf9bca2ace0351c4a4c17fbca4d652c323d5e5
treee16ea71b9621f236d3f9903c71bd7a2ba026ee2f
parentcf61eb268678c83eef812f937a3a9aeee67c460b
NFSv4: Don't add a new lock on an interrupted wait for LOCK

If the wait for a LOCK operation is interrupted, and then the file is
closed, the locks cleanup code will assume that no new locks will be added
to the inode after it has completed.  We already have a mechanism to detect
if there was signal, so let's use that to avoid recreating the local lock
once the RPC completes.  Also skip re-sending the LOCK operation for the
various error cases if we were signaled.

Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
[Trond: Fix inverted test of locks_lock_inode_wait()]
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
fs/nfs/nfs4proc.c