diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2010-07-01 12:49:01 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2010-07-30 14:46:10 -0400 |
commit | d3c7b7ccc199ee564177ee914c04771d6bc00295 (patch) | |
tree | ed5bda669f6ede2ac454bf853577e3c3f818642b /fs/nfs/nfs4state.c | |
parent | daccbded7f153ec84a3baf3136052e41d0eab555 (diff) | |
download | linux-3.10-d3c7b7ccc199ee564177ee914c04771d6bc00295.tar.gz linux-3.10-d3c7b7ccc199ee564177ee914c04771d6bc00295.tar.bz2 linux-3.10-d3c7b7ccc199ee564177ee914c04771d6bc00295.zip |
NFSv4: Add support for the RELEASE_LOCKOWNER operation
This is needed by NFSv4.0 servers in order to keep the number of locking
stateids at a manageable level.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs4state.c')
-rw-r--r-- | fs/nfs/nfs4state.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c index 13e17e32e3e..13a4f27e727 100644 --- a/fs/nfs/nfs4state.c +++ b/fs/nfs/nfs4state.c @@ -701,6 +701,8 @@ void nfs4_put_lock_state(struct nfs4_lock_state *lsp) if (list_empty(&state->lock_states)) clear_bit(LK_STATE_IN_USE, &state->flags); spin_unlock(&state->state_lock); + if (lsp->ls_flags & NFS_LOCK_INITIALIZED) + nfs4_release_lockowner(lsp); nfs4_free_lock_state(lsp); } |