The workqueue "callback_wq" queues a single work item &cb->cb_work per
nfsd4_callback instance and thus, it doesn't require execution ordering.
Hence, alloc_workqueue has been used to replace the
deprecated create_singlethread_workqueue instance.
The WQ_MEM_RECLAIM flag has not been set since this is an in-kernel nfs
server and isn't involved in memory reclaim operations on the local
host.

Since there are fixed number of work items, explicit concurrency
limit is unnecessary here.

Signed-off-by: Bhaktipriya Shridhar <bhaktipriy...@gmail.com>
---
 Changes in v2:
        - No change. Made this a separate patch (categorised based on
          directories).

 fs/nfsd/nfs4callback.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c
index 7389cb1..a6611c6 100644
--- a/fs/nfsd/nfs4callback.c
+++ b/fs/nfsd/nfs4callback.c
@@ -1021,7 +1021,7 @@ static const struct rpc_call_ops nfsd4_cb_ops = {

 int nfsd4_create_callback_queue(void)
 {
-       callback_wq = create_singlethread_workqueue("nfsd4_callbacks");
+       callback_wq = alloc_workqueue("nfsd4_callbacks", 0, 0);
        if (!callback_wq)
                return -ENOMEM;
        return 0;
--
2.1.4

Reply via email to