opnsense-src/sys/fs/nfs
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 nfsd: Add sysctl to set maximum I/O size up to 1Mbyte 2021-07-16 15:01:03 -07:00
nfs_commonacl.c nfs: Remove APPLESTATIC macro 2020-05-12 13:23:25 +00:00
nfs_commonkrpc.c nfscl: Add a Linux compatible "nconnect" mount option 2021-07-08 17:39:04 -07:00
nfs_commonport.c nfsd: Add sysctl to set maximum I/O size up to 1Mbyte 2021-07-16 15:01:03 -07:00
nfs_commonsubs.c nfscl: Add a Lookup+Open RPC for NFSv4.1/4.2 2021-08-11 18:49:26 -07:00
nfs_var.h nfscl: Add a Lookup+Open RPC for NFSv4.1/4.2 2021-08-11 18:49:26 -07:00
nfscl.h nfsv4 client: do the BindConnectionToSession as required 2021-04-11 14:34:57 -07:00
nfsclstate.h nfscl: Add hash lists for the NFSv4 opens 2021-05-22 14:53:56 -07:00
nfsdport.h Do not copy vp into f_data for DTYPE_VNODE files. 2020-09-15 21:55:21 +00:00
nfskpiport.h Remove vfs_statfs and vnode_mount macros from NFS 2020-06-17 16:20:19 +00:00
nfsm_subs.h fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
nfsport.h nfscl: Add a Lookup+Open RPC for NFSv4.1/4.2 2021-08-11 18:49:26 -07:00
nfsproto.h nfscl: Add a Lookup+Open RPC for NFSv4.1/4.2 2021-08-11 18:49:26 -07:00
nfsrvcache.h Replace all instances of the typedef mbuf_t with "struct mbuf *". 2020-04-17 21:17:51 +00:00
nfsrvstate.h nfsd: make the server repeat CB_RECALL every couple of seconds 2021-04-04 18:15:54 -07:00
nfsv4_errstr.h Add missing comma in nfsv4_errstr 2020-01-13 21:49:27 +00:00
rpcv2.h fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
xdr_subs.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00