]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commit - fs/nfsd/xdr4.h
nfsd: Add a mutex to protect the NFSv4.0 open owner replay cache
authorJeff Layton <jlayton@primarydata.com>
Wed, 30 Jul 2014 01:34:27 +0000 (21:34 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Thu, 31 Jul 2014 18:20:19 +0000 (14:20 -0400)
commit58fb12e6a42f30adf209f8f41385a3bbb2c82420
tree5ca75f92bd5aa9629f30c21d6e0e8df8f0984235
parent6b180f0b57af0295e8dc2602a7a4781241766340
nfsd: Add a mutex to protect the NFSv4.0 open owner replay cache

We don't want to rely on the client_mutex for protection in the case of
NFSv4 open owners. Instead, we add a mutex that will only be taken for
NFSv4.0 state mutating operations, and that will be released once the
entire compound is done.

Also, ensure that nfsd4_cstate_assign_replay/nfsd4_cstate_clear_replay
take a reference to the stateowner when they are using it for NFSv4.0
open and lock replay caching.

Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: Jeff Layton <jlayton@primarydata.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfs4proc.c
fs/nfsd/nfs4state.c
fs/nfsd/nfs4xdr.c
fs/nfsd/state.h
fs/nfsd/xdr4.h