opnsense-src/sys/fs/nfsserver
Rick Macklem f40c9502c4 nfsd: Avoid acquiring a vnode for some NFSv4 Readdir operations
Without this patch, a NFSv4 Readdir operation acquires the vnode for
each entry in the directory.  If only the Type, Fileid, Mounted_on_fileid
and ReaddirError attributes are requested by a client, acquiring the vnode
is not necessary for non-directories.  Directory vnodes must be acquired
to check for server file system mount points.

This patch avoids acquiring the vnode, as above, resulting in a 3-8%
improvement in Readdir RPC RTT for some simple tests I did.

Note that only non-rdirplus NFSv4 mounts will benefit from this change.

Tested during a recent IETF NFSv4 Bakeathon testing event.

(cherry picked from commit cd5edc7db261fb228be4044e6fdd38850eb4e9c4)
2023-11-16 15:46:17 -08:00
..
nfs_fha_new.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
nfs_fha_new.h sys: Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:24 -06:00
nfs_nfsdcache.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
nfs_nfsdkrpc.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
nfs_nfsdport.c nfsd: Avoid acquiring a vnode for some NFSv4 Readdir operations 2023-11-16 15:46:17 -08:00
nfs_nfsdserv.c nfsd: Fix NFSv4.1/4.2 Claim_Deleg_Cur_FH 2023-11-02 15:00:48 -07:00
nfs_nfsdsocket.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
nfs_nfsdstate.c nfsd: Fix NFSv4.1/4.2 Claim_Deleg_Cur_FH 2023-11-02 15:00:48 -07:00
nfs_nfsdsubs.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00