fs/afs/vlocation: Remove deprecated create_singlethread_workqueue
authorBhaktipriya Shridhar <bhaktipriya96@gmail.com>
Sun, 4 Sep 2016 15:22:39 +0000 (20:52 +0530)
committerDavid Howells <dhowells@redhat.com>
Sun, 4 Sep 2016 20:41:39 +0000 (21:41 +0100)
The workqueue "afs_vlocation_update_worker" queues a single work item
&afs_vlocation_update and hence it doesn't require execution ordering.
Hence, alloc_workqueue has been used to replace the deprecated
create_singlethread_workqueue instance.

Since the workqueue is being used on a memory reclaim path, WQ_MEM_RECLAIM
flag has been set to ensure forward progress under memory pressure.

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

Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com>
Signed-off-by: David Howells <dhowells@redhat.com>
fs/afs/vlocation.c

index 52976785a32caed097d9bb10f9990557189bbe77..45a86396fd2db350f097bc291b1bbffee70b621e 100644 (file)
@@ -594,8 +594,8 @@ static void afs_vlocation_reaper(struct work_struct *work)
  */
 int __init afs_vlocation_update_init(void)
 {
-       afs_vlocation_update_worker =
-               create_singlethread_workqueue("kafs_vlupdated");
+       afs_vlocation_update_worker = alloc_workqueue("kafs_vlupdated",
+                                                     WQ_MEM_RECLAIM, 0);
        return afs_vlocation_update_worker ? 0 : -ENOMEM;
 }