Shouldn't we have fh_put(fhp) before 'retry'? On Wed, Jul 10, 2024 at 9:06 AM Jeff Layton <jlayton@xxxxxxxxxx> wrote: > > At this point, we have a new nf that we couldn't properly insert into > the hashtable. Just free it before retrying, since it was never hashed. > > Fixes: c6593366c0bf ("nfsd: don't kill nfsd_files because of lease break error") > Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> > --- > fs/nfsd/filecache.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/fs/nfsd/filecache.c b/fs/nfsd/filecache.c > index f84913691b78..4fb5e8546831 100644 > --- a/fs/nfsd/filecache.c > +++ b/fs/nfsd/filecache.c > @@ -1038,8 +1038,10 @@ nfsd_file_do_acquire(struct svc_rqst *rqstp, struct svc_fh *fhp, > if (likely(ret == 0)) > goto open_file; > > - if (ret == -EEXIST) > + if (ret == -EEXIST) { > + nfsd_file_free(nf); > goto retry; > + } > trace_nfsd_file_insert_err(rqstp, inode, may_flags, ret); > status = nfserr_jukebox; > goto construction_err; > > -- > 2.45.2 >