From nobody Sat Feb 7 20:58:13 2026 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 0211537AA9E; Thu, 22 Jan 2026 18:56:52 +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=1769108213; cv=none; b=GR7GBAY7UgVTr8zap/GAQCI9bjGoCPbitRJCyDPVpIcSfHUkUGdjRyjS/aO45zchgu7iG0KKgILdew+HrmjBYNLmlaN2GBYJJtAgoNDV/laexV/2a5Ks8qEHojyo3WeawTbnug1hXJtXdeI6Ue9nzMJ9/Jrx3ZXSts55+ScrKBs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769108213; c=relaxed/simple; bh=ZEQAs6/qtq0mr4Pp/8oWNfVoIYbPVy4RXXg2bml3N48=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=q2Yk9KoLBkuTB5Ns3G0OzmClmFRRHwbTse9cSn5IgxqeJFB2McqKlo7cZHH70WSe3KZny+Y38hW8TdNbO88ftp1PGrNi9+r+al4H3jSB4qsM3d/U4/YfdO8H+LvQ0U7uRv89gsAoDU2W3WfEJZTVkRjaOPir8OrcydGsyBwW7jE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=jF5K+XyN; 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="jF5K+XyN" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 59E50C116C6; Thu, 22 Jan 2026 18:56:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1769108212; bh=ZEQAs6/qtq0mr4Pp/8oWNfVoIYbPVy4RXXg2bml3N48=; h=From:Date:Subject:To:Cc:From; b=jF5K+XyNKT4ELutmV00D587xz46wf2Su1IJrpTvKJ4XbzqBJ7r/Bo98CgtGKbNWVk clG0xufP67hcVOhTWAHf521jq8Xt9VvMFz59PU2te1tQwdBUS17unqETGMhk+jgbJk Jxna51Su+e5SzfABtBDQ706lwtsB2PecUh/s1erDeYFIejEK0UellyO41SlrZgHzCa UfjYZhuJ59kytRyWNOkn6t+WUFPTPSoQbbG02PhdHz9gFrzZnvTTkPAuZrUF0CPkVn t9+Cm+42wg/sR495sCP9D19R65HN80xvki3bCChXM9Kn8Rij2EKn89IR/xSUwYDfPV S8rAmapdOBKJg== From: Jeff Layton Date: Thu, 22 Jan 2026 13:56:42 -0500 Subject: [PATCH] nfsd: remove min_threads file from nfsdfs Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260122-minthreads-v1-1-e6d967a90ddb@kernel.org> X-B4-Tracking: v=1; b=H4sIAAAAAAAC/6tWKk4tykwtVrJSqFYqSi3LLM7MzwNyDHUUlJIzE vPSU3UzU4B8JSMDIzMDQyMj3dzMvJKMotTElGJdIwMDixSLRAszMwtTJaCGgqLUtMwKsGHRsbW 1ALa0l5xcAAAA X-Change-ID: 20260122-minthreads-2008d8a86685 To: Chuck Lever , NeilBrown , Olga Kornievskaia , Dai Ngo , Tom Talpey Cc: Benjamin Coddington , linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, Jeff Layton X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4169; i=jlayton@kernel.org; h=from:subject:message-id; bh=ZEQAs6/qtq0mr4Pp/8oWNfVoIYbPVy4RXXg2bml3N48=; b=owEBbQKS/ZANAwAKAQAOaEEZVoIVAcsmYgBpcnLuKvBo40jPJpWylsDOkEJ4oURpoGMZLfJL8 5sUnoA5e2aJAjMEAAEKAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCaXJy7gAKCRAADmhBGVaC FblIEACBRR4ALu35VmEaAgFQHnj4zNUCr2dIlGw31KK7msxw6PfTRwrZFVlceuvs3laPTYKv4wm jRcH0J1RkFjTlx+Vge/dPZ6L8REv2iYvR8czbX1A/Ev8l2bqiON79gvLOWbSnYJI46lPx6Dupjq zsC5fconhbpGSoIR8DNsTZVneMTrNjP0WvdOCk4c98zIxIiUctIV9mZlqQNXjNgTyPv0YO+KrFg kQjPEFXThtwNV6bqvuBlmvnGQFon71lOLZQVijNXo+RGmX85ziK0K62g+/Ab6xmp2EefeSZq6Ij FXfVSgYL7r2VaiF9DNoWS9kXXzWWCH1WRJ5VtO4XGwgvKOAleeBxgxpDEyXi8HqOIYNU+tkQVYK jaQoGw9vKFsj+kiCjgd7C1I9+veiLDYGHFMjhJmnmBLUtgyqqmjYDUlGldm6JySqzB8LtRxDX4m +Izb4SeuKHKoc5H9mb2IPgJaDwke5vicUwRNyzX7Z7IXwdhtwnAgwnA0lmiZCKgbFe2zvL/Ndmg b/SymDOcUeW6Sof9bV2IoIXchlcWWVsXE/ime2EPGdmWiUAfiSxa1X//LR+/WHHCgoTsRtjUXr5 mPLbM60uPKwKjPoBiNXt39tq6+xCA538Iezf1q4khPQqdNnYMqDRXEGCNjkcn6p3OfWZvsddyvO O3n+4YvwzCmN2pQ== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 It was handy while I was developing the dynamic threading patches, but we don't have any plans to make this setting available via legacy rpc.nfsd. Remove the min_threads file from nfsdfs since only netlink interfaces were intended to get support for this. Fixes: d086653f3250 ("nfsd: add controls to set the minimum number of threa= ds per pool") Signed-off-by: Jeff Layton --- As we discussed in another thread, this file should never have been added to the procfs interfaces. This patch just removes it, and leaves netlink as the sole way to set min-threads. --- fs/nfsd/nfsctl.c | 44 -------------------------------------------- 1 file changed, 44 deletions(-) diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c index 30caefb2522f59ca3e0e069e5cd70abe45308c20..7587c64bf26d9108f4202e723b3= 5457077d00de2 100644 --- a/fs/nfsd/nfsctl.c +++ b/fs/nfsd/nfsctl.c @@ -48,7 +48,6 @@ enum { NFSD_Versions, NFSD_Ports, NFSD_MaxBlkSize, - NFSD_MinThreads, NFSD_Filecache, NFSD_Leasetime, NFSD_Gracetime, @@ -68,7 +67,6 @@ static ssize_t write_pool_threads(struct file *file, char= *buf, size_t size); static ssize_t write_versions(struct file *file, char *buf, size_t size); static ssize_t write_ports(struct file *file, char *buf, size_t size); static ssize_t write_maxblksize(struct file *file, char *buf, size_t size); -static ssize_t write_minthreads(struct file *file, char *buf, size_t size); #ifdef CONFIG_NFSD_V4 static ssize_t write_leasetime(struct file *file, char *buf, size_t size); static ssize_t write_gracetime(struct file *file, char *buf, size_t size); @@ -87,7 +85,6 @@ static ssize_t (*const write_op[])(struct file *, char *,= size_t) =3D { [NFSD_Versions] =3D write_versions, [NFSD_Ports] =3D write_ports, [NFSD_MaxBlkSize] =3D write_maxblksize, - [NFSD_MinThreads] =3D write_minthreads, #ifdef CONFIG_NFSD_V4 [NFSD_Leasetime] =3D write_leasetime, [NFSD_Gracetime] =3D write_gracetime, @@ -910,46 +907,6 @@ static ssize_t write_maxblksize(struct file *file, cha= r *buf, size_t size) nfsd_max_blksize); } =20 -/* - * write_minthreads - Set or report the current min number of threads per = pool - * - * Input: - * buf: ignored - * size: zero - * OR - * - * Input: - * buf: C string containing an unsigned - * integer value representing the new - * min number of threads per pool - * size: non-zero length of C string in @buf - * Output: - * On success: passed-in buffer filled with '\n'-terminated C string - * containing numeric value of min_threads setting - * for this net namespace; - * return code is the size in bytes of the string - * On error: return code is zero or a negative errno value - */ -static ssize_t write_minthreads(struct file *file, char *buf, size_t size) -{ - char *mesg =3D buf; - struct nfsd_net *nn =3D net_generic(netns(file), nfsd_net_id); - unsigned int minthreads =3D nn->min_threads; - - if (size > 0) { - int rv =3D get_uint(&mesg, &minthreads); - - if (rv) - return rv; - trace_nfsd_ctl_minthreads(netns(file), minthreads); - mutex_lock(&nfsd_mutex); - nn->min_threads =3D minthreads; - mutex_unlock(&nfsd_mutex); - } - - return scnprintf(buf, SIMPLE_TRANSACTION_LIMIT, "%u\n", minthreads); -} - #ifdef CONFIG_NFSD_V4 static ssize_t __nfsd4_write_time(struct file *file, char *buf, size_t siz= e, time64_t *time, struct nfsd_net *nn) @@ -1342,7 +1299,6 @@ static int nfsd_fill_super(struct super_block *sb, st= ruct fs_context *fc) [NFSD_Versions] =3D {"versions", &transaction_ops, S_IWUSR|S_IRUSR}, [NFSD_Ports] =3D {"portlist", &transaction_ops, S_IWUSR|S_IRUGO}, [NFSD_MaxBlkSize] =3D {"max_block_size", &transaction_ops, S_IWUSR|S_IRU= GO}, - [NFSD_MinThreads] =3D {"min_threads", &transaction_ops, S_IWUSR|S_IRUGO}, [NFSD_Filecache] =3D {"filecache", &nfsd_file_cache_stats_fops, S_IRUGO}, #ifdef CONFIG_NFSD_V4 [NFSD_Leasetime] =3D {"nfsv4leasetime", &transaction_ops, S_IWUSR|S_IRUS= R}, --- base-commit: d561c36ceba65324973356b738511b90b6e58b22 change-id: 20260122-minthreads-2008d8a86685 Best regards, --=20 Jeff Layton