opnsense-src/sys/fs/nfsclient
Rick Macklem 3ad1e1c1ce nfscl: Add a Lookup+Open RPC for NFSv4.1/4.2
This patch adds a Lookup+Open compound RPC to the NFSv4.1/4.2
NFS client, which can be used by nfs_lookup() so that a
subsequent Open RPC is not required.
It uses the cn_flags OPENREAD, OPENWRITE added by commit c18c74a87c.
This reduced the number of RPCs by about 15% for a kernel
build over NFS.

For now, use of Lookup+Open is only done when the "oneopenown"
mount option is used.  It may be possible for Lookup+Open to
be used for non-oneopenown NFSv4.1/4.2 mounts, but that will
require extensive further testing to determine if it works.

While here, I've added the changes to the nfscommon module
that are needed to implement the Deallocate NFSv4.2 operation.
This avoids needing another cycle of changes to the internal
KAPI between the NFS modules.

This commit has changed the internal KAPI between the NFS
modules and, as such, all need to be rebuilt from sources.
I have not bumped __FreeBSD_version, since it was bumped a
few days ago.
2021-08-11 18:49:26 -07:00
..
nfs.h Remove "struct ucred*" argument from vtruncbuf 2019-05-24 20:27:50 +00:00
nfs_clbio.c nfsclient: add nfs node locking around uses of n_direofoffset 2021-02-28 14:53:54 -08:00
nfs_clcomsubs.c nfscl: Add support for va_birthtime to NFSv4 2021-05-07 17:30:56 -07:00
nfs_clkdtrace.c fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
nfs_clkrpc.c fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
nfs_clnfsiod.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
nfs_clnode.c nfscl: Cache an open stateid for the "oneopenown" mount option 2021-07-28 15:48:27 -07:00
nfs_clport.c nfssvc: Zero the buffer copied out when NFSSVC_DUMPMNTOPTS is set 2021-07-15 22:41:10 -04:00
nfs_clrpcops.c nfscl: Add a Lookup+Open RPC for NFSv4.1/4.2 2021-08-11 18:49:26 -07:00
nfs_clstate.c nfscl: Add a Lookup+Open RPC for NFSv4.1/4.2 2021-08-11 18:49:26 -07:00
nfs_clsubs.c nfsclient: add nfs node locking around uses of n_direofoffset 2021-02-28 14:53:54 -08:00
nfs_clvfsops.c nfsclient: Avoid copying uninitialized bytes into statfs 2021-07-15 12:18:17 -04:00
nfs_clvnops.c nfscl: Add a Lookup+Open RPC for NFSv4.1/4.2 2021-08-11 18:49:26 -07:00
nfs_kdtrace.h fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
nfsmount.h nfscl: Add a Linux compatible "nconnect" mount option 2021-07-08 17:39:04 -07:00
nfsnode.h nfscl: Cache an open stateid for the "oneopenown" mount option 2021-07-28 15:48:27 -07:00
nlminfo.h sys/fs: further adoption of SPDX licensing ID tags. 2017-11-27 15:15:37 +00:00