diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2014-07-10 20:07:25 +0200 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2014-07-10 21:05:25 +0200 |
commit | 1d31a2531ae91f8a89c0fffa883ef922c0dbb74d (patch) | |
tree | 8c68acb7b5472803ccd8cbf1ffab9b467a377904 /fs/nfsd/state.h | |
parent | nfsd: reduce some spinlocking in put_client_renew (diff) | |
download | linux-1d31a2531ae91f8a89c0fffa883ef922c0dbb74d.tar.xz linux-1d31a2531ae91f8a89c0fffa883ef922c0dbb74d.zip |
nfsd: Add fine grained protection for the nfs4_file->fi_stateids list
Access to this list is currently serialized by the client_mutex. Add
finer grained locking around this list in preparation for its removal.
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd/state.h')
-rw-r--r-- | fs/nfsd/state.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfsd/state.h b/fs/nfsd/state.h index 06d1a908a58e..04737b3ed363 100644 --- a/fs/nfsd/state.h +++ b/fs/nfsd/state.h @@ -377,6 +377,7 @@ static inline struct nfs4_lockowner * lockowner(struct nfs4_stateowner *so) /* nfs4_file: a file opened by some number of (open) nfs4_stateowners. */ struct nfs4_file { atomic_t fi_ref; + spinlock_t fi_lock; struct hlist_node fi_hash; /* hash by "struct inode *" */ struct list_head fi_stateids; struct list_head fi_delegations; |