|
@@ -444,13 +444,17 @@ struct ceph_fs_client *create_fs_client(struct ceph_mount_options *fsopt,
|
|
|
goto fail_client;
|
|
|
|
|
|
err = -ENOMEM;
|
|
|
- fsc->wb_wq = create_workqueue("ceph-writeback");
|
|
|
+ /*
|
|
|
+ * The number of concurrent works can be high but they don't need
|
|
|
+ * to be processed in parallel, limit concurrency.
|
|
|
+ */
|
|
|
+ fsc->wb_wq = alloc_workqueue("ceph-writeback", 0, 1);
|
|
|
if (fsc->wb_wq == NULL)
|
|
|
goto fail_bdi;
|
|
|
- fsc->pg_inv_wq = create_singlethread_workqueue("ceph-pg-invalid");
|
|
|
+ fsc->pg_inv_wq = alloc_workqueue("ceph-pg-invalid", 0, 1);
|
|
|
if (fsc->pg_inv_wq == NULL)
|
|
|
goto fail_wb_wq;
|
|
|
- fsc->trunc_wq = create_singlethread_workqueue("ceph-trunc");
|
|
|
+ fsc->trunc_wq = alloc_workqueue("ceph-trunc", 0, 1);
|
|
|
if (fsc->trunc_wq == NULL)
|
|
|
goto fail_pg_inv_wq;
|
|
|
|