ceph: fsc->*_wq's aren't used in memory reclaim path

fsc->*_wq's aren't depended upon during memory reclaim. Convert to
alloc_workqueue() w/o WQ_MEM_RECLAIM.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Sage Weil <sage@newdream.net>
Cc: ceph-devel@vger.kernel.org
Signed-off-by: Sage Weil <sage@newdream.net>

authored by Tejun Heo and committed by Sage Weil 01e6acc4 b0aee351

+7 -3
+7 -3
fs/ceph/super.c
··· 444 goto fail_client; 445 446 err = -ENOMEM; 447 - fsc->wb_wq = create_workqueue("ceph-writeback"); 448 if (fsc->wb_wq == NULL) 449 goto fail_bdi; 450 - fsc->pg_inv_wq = create_singlethread_workqueue("ceph-pg-invalid"); 451 if (fsc->pg_inv_wq == NULL) 452 goto fail_wb_wq; 453 - fsc->trunc_wq = create_singlethread_workqueue("ceph-trunc"); 454 if (fsc->trunc_wq == NULL) 455 goto fail_pg_inv_wq; 456
··· 444 goto fail_client; 445 446 err = -ENOMEM; 447 + /* 448 + * The number of concurrent works can be high but they don't need 449 + * to be processed in parallel, limit concurrency. 450 + */ 451 + fsc->wb_wq = alloc_workqueue("ceph-writeback", 0, 1); 452 if (fsc->wb_wq == NULL) 453 goto fail_bdi; 454 + fsc->pg_inv_wq = alloc_workqueue("ceph-pg-invalid", 0, 1); 455 if (fsc->pg_inv_wq == NULL) 456 goto fail_wb_wq; 457 + fsc->trunc_wq = alloc_workqueue("ceph-trunc", 0, 1); 458 if (fsc->trunc_wq == NULL) 459 goto fail_pg_inv_wq; 460