From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D37513A3837; Mon, 30 Mar 2026 14:23:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774880583; cv=none; b=GltD1EkY1wktiOwcYdWBa3oXe6qFYZXGhkt7hLF2ZKM3BWnmclAA6utG33gqW2mfyNEVz6jvLLr24kjTykrO3j/3vxofGuJWOL4E6GVp4cReERnsS7tAyzkGVIomu42KRLaQQIjexNsZbMa5+KqXBNvgymEh0bLAx+St7g3HxRk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774880583; c=relaxed/simple; bh=X2QXEXEFSfwD5XWt9JWleVw62Lz3GGAaZBixEVmCkr8=; h=MIME-Version:Date:From:To:Cc:Message-Id:In-Reply-To:References: Subject:Content-Type; b=FGQzKBetX48QBt0uYI479UoIWcF+siqbxHN6Z+7LAWxxyH72WY0rB0YAi2GQLHPuomiRTB5K3R0zcqeaikA6oLKhzzt/Y0VogpjkHLEQLyuRWvzpS120aqP9ge78wweCGpSDfsEP3K8Zn3WO63KeUiH25z+qUlY8y44mlncsgzw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=TAM5duh0; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="TAM5duh0" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2AB1FC2BCB2; Mon, 30 Mar 2026 14:23:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1774880583; bh=X2QXEXEFSfwD5XWt9JWleVw62Lz3GGAaZBixEVmCkr8=; h=Date:From:To:Cc:In-Reply-To:References:Subject:From; b=TAM5duh0IjYqx3GqRtuVhEWl+qVkhVyI7kSa2heg6ypA+WozAnHds5Tv7pckuG3a9 KwifKmDJrsYm0OJTXwrsb0kxZJBLfi5F7udP/8ycPqoNat+WxLA6s6iuC4bFnr4Y9C LJ9FarRYj01SYimgUtAgeNSBBpMrk8d3Wr7FuHyRDGowtmz8eGAGnihbI7exqAfgVl ZNWSbM5mkr4mpA0kFc45vFyhWLwgcUM9YJolC83lJfldHCYTOpgurDbem4Gu6u4T2M NzVnFOmTgGZjRWGrI+5EfTaG0wJewOA3MXjCC+pWUTVYKu4UipuptqEJc9P2piP29k jsVzN5vaslM3A== Received: from phl-compute-10.internal (phl-compute-10.internal [10.202.2.50]) by mailfauth.phl.internal (Postfix) with ESMTP id 3A992F40074; Mon, 30 Mar 2026 10:23:02 -0400 (EDT) Received: from phl-imap-15 ([10.202.2.104]) by phl-compute-10.internal (MEProxy); Mon, 30 Mar 2026 10:23:02 -0400 X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgdeffeelvdduucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepofggfffhvfevkfgjfhfutgfgsehtjeertdertddtnecuhfhrohhmpedfvehhuhgt khcunfgvvhgvrhdfuceotggvlheskhgvrhhnvghlrdhorhhgqeenucggtffrrghtthgvrh hnpefhffekffeftdfgheeiveekudeuhfdvjedvfedvueduvdegleekgeetgfduhfefleen ucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegthhhutg hklhgvvhgvrhdomhgvshhmthhprghuthhhphgvrhhsohhnrghlihhthidqudeifeegleel leehledqfedvleekgeegvdefqdgtvghlpeepkhgvrhhnvghlrdhorhhgsehfrghsthhmrg hilhdrtghomhdpnhgspghrtghpthhtohepudejpdhmohguvgepshhmthhpohhuthdprhgt phhtthhopehnvghilhessghrohifnhdrnhgrmhgvpdhrtghpthhtohepuggrvhgvmhesug grvhgvmhhlohhfthdrnhgvthdprhgtphhtthhopeguohhnrghlugdrhhhunhhtvghrsehg mhgrihhlrdgtohhmpdhrtghpthhtohepvgguuhhmrgiivghtsehgohhoghhlvgdrtghomh dprhgtphhtthhopegrnhhnrgeskhgvrhhnvghlrdhorhhgpdhrtghpthhtohephhhorhhm sheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepjhhlrgihthhonheskhgvrhhnvghlrd horhhgpdhrtghpthhtohepkhhusggrsehkvghrnhgvlhdrohhrghdprhgtphhtthhopeht rhhonhgumhihsehkvghrnhgvlhdrohhrgh X-ME-Proxy: Feedback-ID: ifa6e4810:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id E2B79780075; Mon, 30 Mar 2026 10:23:01 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ThreadId: AN4VOCyftktg Date: Mon, 30 Mar 2026 10:22:41 -0400 From: "Chuck Lever" To: "Jeff Layton" , "Chuck Lever" , NeilBrown , "Olga Kornievskaia" , "Dai Ngo" , "Tom Talpey" , "David S. Miller" , "Eric Dumazet" , "Jakub Kicinski" , "Paolo Abeni" , "Simon Horman" , "Donald Hunter" Cc: "Trond Myklebust" , "Anna Schumaker" , linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org Message-Id: <30ff0483-ec38-40b3-811b-6cd66febe1b1@app.fastmail.com> In-Reply-To: <20260325-exportd-netlink-v2-10-067df016ea95@kernel.org> References: <20260325-exportd-netlink-v2-0-067df016ea95@kernel.org> <20260325-exportd-netlink-v2-10-067df016ea95@kernel.org> Subject: Re: [PATCH v2 10/13] nfsd: add netlink upcall for the svc_export cache Content-Type: text/plain Content-Transfer-Encoding: 7bit On Wed, Mar 25, 2026, at 10:40 AM, Jeff Layton wrote: > Add netlink-based cache upcall support for the svc_export (nfsd.export) > cache to Documentation/netlink/specs/nfsd.yaml and regenerate the > resulting files. > diff --git a/Documentation/netlink/specs/nfsd.yaml > b/Documentation/netlink/specs/nfsd.yaml > index > 8ab43c8253b2e83bcc178c3f4fe8c41c2997d153..709751502f8b56bd4b68462fa15337df5e3e035e > 100644 > --- a/Documentation/netlink/specs/nfsd.yaml > +++ b/Documentation/netlink/specs/nfsd.yaml > @@ -6,7 +6,51 @@ uapi-header: linux/nfsd_netlink.h > > doc: NFSD configuration over generic netlink. > > +definitions: > + - > + type: flags > + name: cache-type > + entries: [svc_export] > + - > + type: flags > + name: export-flags > + doc: These flags are ordered to match the NFSEXP_* flags in > include/linux/nfsd/export.h > + entries: > + - readonly > + - insecure-port > + - rootsquash > + - allsquash > + - async > + - gathered-writes > + - noreaddirplus > + - security-label > + - sign-fh > + - nohide > + - nosubtreecheck > + - noauthnlm > + - msnfs > + - fsid > + - crossmount > + - noacl > + - v4root > + - pnfs > + - > + type: flags > + name: xprtsec-mode > + doc: These flags are ordered to match the NFSEXP_XPRTSEC_* flags > in include/linux/nfsd/export.h > + entries: > + - none > + - tls > + - mtls > + > attribute-sets: > + - > + name: cache-notify > + attributes: > + - > + name: cache-type > + type: u32 > + enum: cache-type > - > name: rpc-status > attributes: > @@ -132,6 +176,103 @@ attribute-sets: > - > name: npools > type: u32 > + - > + name: fslocation > + attributes: > + - > + name: host > + type: string > + - > + name: path > + type: string > + - > + name: fslocations > + attributes: > + - > + name: location > + type: nest > + nested-attributes: fslocation > + multi-attr: true > + - > + name: auth-flavor > + attributes: > + - > + name: pseudoflavor > + type: u32 > + - > + name: flags > + type: u32 > + enum: export-flags > + enum-as-flags: true > + - > + name: svc-export-req > + attributes: > + - > + name: seqno > + type: u64 > + - > + name: client > + type: string > + - > + name: path > + type: string Is the svc-export-req attribute set used for anything? > + - > + name: svc-export > + attributes: > + - > + name: seqno > + type: u64 > + - > + name: client > + type: string > + - > + name: path > + type: string > + - > + name: negative > + type: flag > + - > + name: expiry > + type: u64 > + - > + name: anon-uid > + type: u32 > + - > + name: anon-gid > + type: u32 > + - > + name: fslocations > + type: nest > + nested-attributes: fslocations > + - > + name: uuid > + type: binary > + - > + name: secinfo > + type: nest > + nested-attributes: auth-flavor > + multi-attr: true > + - > + name: xprtsec > + type: u32 > + enum: xprtsec-mode > + multi-attr: true > + - > + name: flags > + type: u32 > + enum: export-flags > + enum-as-flags: true > + - > + name: fsid > + type: s32 > + - > + name: svc-export-reqs > + attributes: > + - > + name: requests > + type: nest > + nested-attributes: svc-export > + multi-attr: true > > operations: > list: > @@ -233,3 +374,36 @@ operations: > attributes: > - mode > - npools > + - > + name: cache-notify > + doc: Notification that there are cache requests that need > servicing > + attribute-set: cache-notify > + mcgrp: exportd > + event: > + attributes: > + - cache-type > + - > + name: svc-export-get-reqs > + doc: Dump all pending svc_export requests > + attribute-set: svc-export-reqs > + flags: [admin-perm] > + dump: > + request: > + attributes: > + - requests > + - > + name: svc-export-set-reqs > + doc: Respond to one or more svc_export requests > + attribute-set: svc-export-reqs > + flags: [admin-perm] > + do: > + request: > + attributes: > + - requests > + > +mcast-groups: > + list: > + - > + name: none > + - > + name: exportd -- Chuck Lever