diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2014-06-30 11:48:31 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2014-07-08 17:14:30 -0400 |
commit | 950e0118d06fae26e07b283b83e96124a2075a1d (patch) | |
tree | 27ac2db5bb9fadc77f1a9d87f67e983cf1f295aa /fs/nfsd/vfs.h | |
parent | 7e6a72e5f1d42768a9949d73d3337277ff96e026 (diff) | |
download | op-kernel-dev-950e0118d06fae26e07b283b83e96124a2075a1d.zip op-kernel-dev-950e0118d06fae26e07b283b83e96124a2075a1d.tar.gz |
nfsd: Protect addition to the file_hashtbl
Current code depends on the client_mutex to guarantee a single struct
nfs4_file per inode in the file_hashtbl and make addition atomic with
respect to lookup. Rely instead on the state_Lock, to make it easier to
stop taking the client_mutex here later.
To prevent an i_lock/state_lock inversion, change nfsd4_init_file to
use ihold instead if igrab. That's also more efficient anyway as we
definitely hold a reference to the inode at that point.
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: Jeff Layton <jlayton@primarydata.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd/vfs.h')
0 files changed, 0 insertions, 0 deletions