From nobody Sat Sep 28 22:03:36 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XGLvF1WHYz5Xv9S; Sat, 28 Sep 2024 22:03:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XGLvF13KKz46fS; Sat, 28 Sep 2024 22:03:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727561017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=enjilpyxdGSourLVnziQEVTNIGUXReJ7WWD2hRO+qa0=; b=m3VZIrXIFB0OwcSPMfvPcEG+lxWTQLAg8d8kbCm4Jcc6Fn/0S4G1wG/ML7iUewxsoCDPIA 7zmCOR5/2CreWpZPo5KiJzXJrU5cLFZ/3NTmGRSno1LaG0eIrEICEqcc868BYGUFO1idR5 L+LixYnzrjiB2EU2M+Zo0bqysag+oL2A7MPifb1pXVGUyydxuLhQ6O3ISVv62yr/FhL26W /+fMMhTGg64WTX6Y5EPcYgTmlRLGob47fVEBh94an4UW/tlCuBQce9AKa1WAvnykwdV4U9 SwKpcHZJ0MHN6M6foDn4l8BasvmwifQ0BG53PfLQSYhlfKboLkZbKJGaBSPntQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727561017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=enjilpyxdGSourLVnziQEVTNIGUXReJ7WWD2hRO+qa0=; b=YomPX4gc5tf4KGs8qA15lE6bsbcbzg+FF1bjgS4hWOAd0LY0u/lxnFzqJZs/vGEN5Vi033 aKymiw/OyMH5Te3PTEv8cS2lWo3FUosQ0IPcoEiHEzpw7DHKlo60K9i8EzstNLbyGuQFfy 1So3KLC52quiLGBD3yJarcK9cVVJZTgjIfhYUAsCt/gG6NTSsSp4Ib3k8LKEj2KhArE567 1IHsMqqCo9kkSrSRN+wDj8vgmix5EWQamqWC9+zhj5MRr1Xt+4JYJkdGMUeC8/cH7fpS/6 ngp90EcuF/O1dZCRL+fQQP/M0tO68vg7xIxs8uEBU2FeoggIDJd3om4vtxzTfA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727561017; a=rsa-sha256; cv=none; b=PilgNr3+xOCvgZ2CS/oxlx3FHMdPWLLYmb8hIQPI7o+2SjdzisJ+sdjeYrLmaxOLIHHIBz /ElvhgYR1qJ8mm7xbUPhKpf6E4JrzqJqFUltd9S3vPWBdGah3wH7koCeHBlHt8PzOzyGT5 s9DJYPqqm6B56l5vzHuuHc6rJ/icht+Qk0J8vuAcPShuGfcjfdMRNDFD9RljXkXNGyLF1/ kM1gZpEQglsmZSyQhnatHoeC1PNWV+rD0uofosHbwwBQUlAG02nmH/dJaOi+3oBAM96KHz 3oC6ibhrvGdhAJcYbS5BzRw2609feNoCuOLmPB6DbYELFvBXd36J6fGV85ck+g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XGLvF0gDVzj7J; Sat, 28 Sep 2024 22:03:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48SM3aUJ069785; Sat, 28 Sep 2024 22:03:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48SM3aOF069782; Sat, 28 Sep 2024 22:03:36 GMT (envelope-from git) Date: Sat, 28 Sep 2024 22:03:36 GMT Message-Id: <202409282203.48SM3aOF069782@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: 6df05714da16 - main - Revert "nfscl: Enable support for the Lookup+Open RPC" List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6df05714da160a8ac3e27ee34ff903bd0e760002 Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=6df05714da160a8ac3e27ee34ff903bd0e760002 commit 6df05714da160a8ac3e27ee34ff903bd0e760002 Author: Rick Macklem AuthorDate: 2024-09-28 22:01:36 +0000 Commit: Rick Macklem CommitDate: 2024-09-28 22:01:36 +0000 Revert "nfscl: Enable support for the Lookup+Open RPC" This reverts commit 9792c7d3eb41dc1e3709e00a98734c3312d1b4fe. The email thread "panic: nfsv4root ref cnt cpuid=1" on freebsd-fs@freebsd.org descibes crashes that occurred for a NFSv4.1 client mount using "oneopenown" where the same file is re-opened many times by different processes. The crashes appear to have been caused by the use of the Lookup+Open RPC (which only happens for mounts using the "oneopenown" option). There appears to be a race between closure of the open and the open acquired by the Lookup+Open RPC. Since Lookup+Open RPCs are only an optimization and can only be done for "oneopenown" at this time, this patch reverts enabling of them. It may be possible to fix the code so that Lookup+Open works reliably, so the code is left in place (although it will never be executed) for now. Reported by: J David MFC after: 2 weeks --- sys/fs/nfsclient/nfs_clvnops.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/fs/nfsclient/nfs_clvnops.c b/sys/fs/nfsclient/nfs_clvnops.c index 13341dfc26e0..bf24a161b94b 100644 --- a/sys/fs/nfsclient/nfs_clvnops.c +++ b/sys/fs/nfsclient/nfs_clvnops.c @@ -1309,6 +1309,11 @@ nfs_lookup(struct vop_lookup_args *ap) } 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 @@ -1328,6 +1333,7 @@ nfs_lookup(struct vop_lookup_args *ap) openmode |= NFSV4OPEN_ACCESSWRITE; } NFSUNLOCKMNT(nmp); +#endif newvp = NULLVP; NFSINCRGLOBAL(nfsstatsv1.lookupcache_misses);