git: c3134a6af07a - main - nfscl: Disable use of the LookupOpen RPC
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 27 Nov 2021 23:38:01 UTC
The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=c3134a6af07af402b71f0b8587e09cb783c79eda commit c3134a6af07af402b71f0b8587e09cb783c79eda Author: Rick Macklem <rmacklem@FreeBSD.org> AuthorDate: 2021-11-27 23:34:45 +0000 Commit: Rick Macklem <rmacklem@FreeBSD.org> CommitDate: 2021-11-27 23:34:45 +0000 nfscl: Disable use of the LookupOpen RPC The LookupOpen RPC reduces the number of Open RPCs needed. Unfortunately, it breaks certain software builds over NFS, so disable it until this is fixed. The LookupOpen RPC is only used for NFSv4.1/4.2 mounts when the "oneopenown" mount option is specified, so this should not affect many users. --- sys/fs/nfsclient/nfs_clvnops.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sys/fs/nfsclient/nfs_clvnops.c b/sys/fs/nfsclient/nfs_clvnops.c index 920bf2524c01..4a027ea07f26 100644 --- a/sys/fs/nfsclient/nfs_clvnops.c +++ b/sys/fs/nfsclient/nfs_clvnops.c @@ -1322,13 +1322,18 @@ nfs_lookup(struct vop_lookup_args *ap) cache_purge_negative(dvp); } + openmode = 0; +#if 0 + /* + * The use of LookupOpen breaks some builds. It is disabled + * until that is fixed. + */ /* * If this an NFSv4.1/4.2 mount using the "oneopenown" mount * option, it is possible to do the Open operation in the same * compound as Lookup, so long as delegations are not being * issued. This saves doing a separate RPC for Open. */ - openmode = 0; NFSLOCKMNT(nmp); if (NFSHASNFSV4N(nmp) && NFSHASONEOPENOWN(nmp) && (nmp->nm_privflag & NFSMNTP_DELEGISSUED) == 0 && @@ -1340,6 +1345,7 @@ nfs_lookup(struct vop_lookup_args *ap) openmode |= NFSV4OPEN_ACCESSWRITE; } NFSUNLOCKMNT(nmp); +#endif newvp = NULLVP; NFSINCRGLOBAL(nfsstatsv1.lookupcache_misses);