[PATCH v2 4/5] nfsd: use more reasonable defaults for local VM testing

Jeff Layton <[email protected]> Thu, 18 Jun 2026 08:17:18 -0400
Newsgroups dev.linux.lists.kdevops
Message-ID <[email protected]>
128 threads is a more reasonable default with modern machine sizes, and
30s is a more reasonable default grace period for localized testing with
knfsd. Also, some other default config changes:

- enable v4.0 since we still need to test it

- min-threads setting to use dynamic threading by default on newer kernels.

- have mountd do manage_gids to exercise those codepaths

Signed-off-by: Jeff Layton <[email protected]>
---
 kconfigs/Kconfig.nfsd                      | 4 ++--
 playbooks/roles/nfsd/templates/nfs.conf.j2 | 5 +++++
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/kconfigs/Kconfig.nfsd b/kconfigs/Kconfig.nfsd
index dbc02115d785..586333803671 100644
--- a/kconfigs/Kconfig.nfsd
+++ b/kconfigs/Kconfig.nfsd
@@ -57,13 +57,13 @@ config NFSD_EXPORT_OPTIONS
 
 config NFSD_THREADS
 	int "Number of nfsd threads to spawn"
-	default 8
+	default 128
 	help
 	  Number of nfsd threads to start up for testing.
 
 config NFSD_LEASE_TIME
 	int "NFSv4 lease time and grace period, in seconds"
-	default 90
+	default 30
 	help
 	  Time, in seconds, that the NFS server will wait before expiring
 	  a client lease. Production servers typically use 90 seconds to
diff --git a/playbooks/roles/nfsd/templates/nfs.conf.j2 b/playbooks/roles/nfsd/templates/nfs.conf.j2
index a5f4a714ec34..45aba163b016 100644
--- a/playbooks/roles/nfsd/templates/nfs.conf.j2
+++ b/playbooks/roles/nfsd/templates/nfs.conf.j2
@@ -1,9 +1,14 @@
 [general]
 pipefs-directory={{ pipefs_directory }}
 
+[mountd]
+manage-gids=y
+
 [nfsd]
 udp=y
 rdma=y
+vers4.0=y
+min-threads=1
 threads={{ nfsd_threads }}
 grace-time={{ nfsd_lease_time }}
 lease-time={{ nfsd_lease_time }}

-- 
2.54.0