]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
nfsd: nfsd_file_acquire_local no longer returns GC'd nfsd_file
authorMike Snitzer <snitzer@kernel.org>
Sat, 16 Nov 2024 01:41:00 +0000 (20:41 -0500)
committerAnna Schumaker <anna.schumaker@oracle.com>
Tue, 14 Jan 2025 22:05:10 +0000 (17:05 -0500)
Now that LOCALIO no longer leans on NFSD's filecache for caching open
files (and instead uses NFS client-side open nfsd_file caching) there
is no need to use NFSD filecache's GC feature.  Avoiding GC will speed
up nfsd_file initial opens.

Signed-off-by: Mike Snitzer <snitzer@kernel.org>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Acked-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
fs/nfsd/filecache.c

index 1c3baa74e2df8eceda1938ac7fb32f06300955e0..09dd708584c1f7fae07518fb8af446a682b6ba9d 100644 (file)
@@ -1222,10 +1222,9 @@ nfsd_file_acquire(struct svc_rqst *rqstp, struct svc_fh *fhp,
  * a file.  The security implications of this should be carefully
  * considered before use.
  *
- * The nfsd_file object returned by this API is reference-counted
- * and garbage-collected. The object is retained for a few
- * seconds after the final nfsd_file_put() in case the caller
- * wants to re-use it.
+ * The nfsd_file_object returned by this API is reference-counted
+ * but not garbage-collected. The object is unhashed after the
+ * final nfsd_file_put().
  *
  * Return values:
  *   %nfs_ok - @pnf points to an nfsd_file with its reference
@@ -1247,7 +1246,7 @@ nfsd_file_acquire_local(struct net *net, struct svc_cred *cred,
        __be32 beres;
 
        beres = nfsd_file_do_acquire(NULL, net, cred, client,
-                                    fhp, may_flags, NULL, pnf, true);
+                                    fhp, may_flags, NULL, pnf, false);
        revert_creds(save_cred);
        return beres;
 }