> On Feb 24, 2021, at 3:59 PM, J. Bruce Fields <bfields@xxxxxxxxxxxx> wrote: > > On Thu, Feb 18, 2021 at 09:02:07PM -0500, trondmy@xxxxxxxxxx wrote: >> From: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> >> >> If a file is unhashed, then we're going to reject it anyway and retry, >> so make sure we skip it when we're doing the RCU lockless lookup. >> This avoids a number of unnecessary nfserr_jukebox returns from >> nfsd_file_acquire() > > Looks good to me.--b. Thanks for the review. This is now included in the for-rc topic branch at: git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git >> Fixes: 65294c1f2c5e ("nfsd: add a new struct file caching facility to nfsd") >> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> >> --- >> fs/nfsd/filecache.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/fs/nfsd/filecache.c b/fs/nfsd/filecache.c >> index 53fcbf79bdca..7629248fdd53 100644 >> --- a/fs/nfsd/filecache.c >> +++ b/fs/nfsd/filecache.c >> @@ -898,6 +898,8 @@ nfsd_file_find_locked(struct inode *inode, unsigned int may_flags, >> continue; >> if (!nfsd_match_cred(nf->nf_cred, current_cred())) >> continue; >> + if (!test_bit(NFSD_FILE_HASHED, &nf->nf_flags)) >> + continue; >> if (nfsd_file_get(nf) != NULL) >> return nf; >> } >> -- >> 2.29.2 -- Chuck Lever