nfsd: allow more than one laundry job to run at a time
authorJeff Layton <jlayton@poochiereds.net>
Thu, 20 Aug 2015 11:17:01 +0000 (07:17 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Mon, 31 Aug 2015 20:32:14 +0000 (16:32 -0400)
We can potentially have several nfs4_laundromat jobs running if there
are multiple namespaces running nfsd on the box. Those are effectively
separated from one another though, so I don't see any reason to
serialize them.

Also, create_singlethread_workqueue automatically adds the
WQ_MEM_RECLAIM flag. Since we run this job on a timer, it's not really
involved in any reclaim paths. I see no need for a rescuer thread.

Signed-off-by: Jeff Layton <jeff.layton@primarydata.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfs4state.c

index c0c47a878cc61ffb8a33495b5b002d169f2c6359..af88d1d7ccae526749be6e8ebacff9c8cc844ae7 100644 (file)
@@ -6598,7 +6598,7 @@ nfs4_state_start(void)
        ret = set_callback_cred();
        if (ret)
                return -ENOMEM;
-       laundry_wq = create_singlethread_workqueue("nfsd4");
+       laundry_wq = alloc_workqueue("%s", WQ_UNBOUND, 0, "nfsd4");
        if (laundry_wq == NULL) {
                ret = -ENOMEM;
                goto out_recovery;