[PATCH RFC v2 4/8] NFS: Set WQ_SYSFS on nfsiod
From: Chuck Lever
Date: Wed Sep 02 2026 - 15:45:06 EST
An unbound workqueue's attributes can be changed at run time only
through /sys/devices/virtual/workqueue/, and a workqueue appears
there only when it is created with WQ_SYSFS. nfsiod is created
without it, so its affinity scope cannot be tuned without reloading
the nfs module.
Create nfsiod with WQ_SYSFS.
Signed-off-by: Chuck Lever <cel@xxxxxxxxxx>
---
fs/nfs/inode.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
index 3022454f7698..107a2135029d 100644
--- a/fs/nfs/inode.c
+++ b/fs/nfs/inode.c
@@ -2619,7 +2619,8 @@ static void nfsiod_stop(void)
static int nfsiod_start(void)
{
dprintk("RPC: creating workqueue nfsiod\n");
- nfsiod_workqueue = alloc_workqueue("nfsiod", WQ_MEM_RECLAIM | WQ_UNBOUND, 0);
+ nfsiod_workqueue = alloc_workqueue("nfsiod",
+ WQ_MEM_RECLAIM | WQ_UNBOUND | WQ_SYSFS, 0);
if (nfsiod_workqueue == NULL)
return -ENOMEM;
#if IS_ENABLED(CONFIG_NFS_LOCALIO)
--
2.55.0