NFSD: nfsd_file_hash_remove can compute hashval
[ Upstream commit cb7ec76e73ff6640241c8f1f2f35c81d4005a2d6 ] Remove an unnecessary use of nf_hashval. Reviewed-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
10ba39f788
commit
12494d98fe
@@ -287,6 +287,18 @@ nfsd_file_do_unhash(struct nfsd_file *nf)
|
|||||||
atomic_long_dec(&nfsd_filecache_count);
|
atomic_long_dec(&nfsd_filecache_count);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
nfsd_file_hash_remove(struct nfsd_file *nf)
|
||||||
|
{
|
||||||
|
struct inode *inode = nf->nf_inode;
|
||||||
|
unsigned int hashval = (unsigned int)hash_long(inode->i_ino,
|
||||||
|
NFSD_FILE_HASH_BITS);
|
||||||
|
|
||||||
|
spin_lock(&nfsd_file_hashtbl[hashval].nfb_lock);
|
||||||
|
nfsd_file_do_unhash(nf);
|
||||||
|
spin_unlock(&nfsd_file_hashtbl[hashval].nfb_lock);
|
||||||
|
}
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
nfsd_file_unhash(struct nfsd_file *nf)
|
nfsd_file_unhash(struct nfsd_file *nf)
|
||||||
{
|
{
|
||||||
@@ -506,11 +518,8 @@ static void nfsd_file_gc_dispose_list(struct list_head *dispose)
|
|||||||
{
|
{
|
||||||
struct nfsd_file *nf;
|
struct nfsd_file *nf;
|
||||||
|
|
||||||
list_for_each_entry(nf, dispose, nf_lru) {
|
list_for_each_entry(nf, dispose, nf_lru)
|
||||||
spin_lock(&nfsd_file_hashtbl[nf->nf_hashval].nfb_lock);
|
nfsd_file_hash_remove(nf);
|
||||||
nfsd_file_do_unhash(nf);
|
|
||||||
spin_unlock(&nfsd_file_hashtbl[nf->nf_hashval].nfb_lock);
|
|
||||||
}
|
|
||||||
nfsd_file_dispose_list_delayed(dispose);
|
nfsd_file_dispose_list_delayed(dispose);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user