diff options
Diffstat (limited to 'fs/ceph/super.c')
-rw-r--r-- | fs/ceph/super.c | 28 |
1 files changed, 7 insertions, 21 deletions
diff --git a/fs/ceph/super.c b/fs/ceph/super.c index 01be7c1bc4c6..d57fa60dcd43 100644 --- a/fs/ceph/super.c +++ b/fs/ceph/super.c | |||
@@ -672,18 +672,12 @@ static struct ceph_fs_client *create_fs_client(struct ceph_mount_options *fsopt, | |||
672 | * The number of concurrent works can be high but they don't need | 672 | * The number of concurrent works can be high but they don't need |
673 | * to be processed in parallel, limit concurrency. | 673 | * to be processed in parallel, limit concurrency. |
674 | */ | 674 | */ |
675 | fsc->wb_wq = alloc_workqueue("ceph-writeback", 0, 1); | 675 | fsc->inode_wq = alloc_workqueue("ceph-inode", WQ_UNBOUND, 0); |
676 | if (!fsc->wb_wq) | 676 | if (!fsc->inode_wq) |
677 | goto fail_client; | 677 | goto fail_client; |
678 | fsc->pg_inv_wq = alloc_workqueue("ceph-pg-invalid", 0, 1); | ||
679 | if (!fsc->pg_inv_wq) | ||
680 | goto fail_wb_wq; | ||
681 | fsc->trunc_wq = alloc_workqueue("ceph-trunc", 0, 1); | ||
682 | if (!fsc->trunc_wq) | ||
683 | goto fail_pg_inv_wq; | ||
684 | fsc->cap_wq = alloc_workqueue("ceph-cap", 0, 1); | 678 | fsc->cap_wq = alloc_workqueue("ceph-cap", 0, 1); |
685 | if (!fsc->cap_wq) | 679 | if (!fsc->cap_wq) |
686 | goto fail_trunc_wq; | 680 | goto fail_inode_wq; |
687 | 681 | ||
688 | /* set up mempools */ | 682 | /* set up mempools */ |
689 | err = -ENOMEM; | 683 | err = -ENOMEM; |
@@ -697,12 +691,8 @@ static struct ceph_fs_client *create_fs_client(struct ceph_mount_options *fsopt, | |||
697 | 691 | ||
698 | fail_cap_wq: | 692 | fail_cap_wq: |
699 | destroy_workqueue(fsc->cap_wq); | 693 | destroy_workqueue(fsc->cap_wq); |
700 | fail_trunc_wq: | 694 | fail_inode_wq: |
701 | destroy_workqueue(fsc->trunc_wq); | 695 | destroy_workqueue(fsc->inode_wq); |
702 | fail_pg_inv_wq: | ||
703 | destroy_workqueue(fsc->pg_inv_wq); | ||
704 | fail_wb_wq: | ||
705 | destroy_workqueue(fsc->wb_wq); | ||
706 | fail_client: | 696 | fail_client: |
707 | ceph_destroy_client(fsc->client); | 697 | ceph_destroy_client(fsc->client); |
708 | fail: | 698 | fail: |
@@ -715,9 +705,7 @@ fail: | |||
715 | 705 | ||
716 | static void flush_fs_workqueues(struct ceph_fs_client *fsc) | 706 | static void flush_fs_workqueues(struct ceph_fs_client *fsc) |
717 | { | 707 | { |
718 | flush_workqueue(fsc->wb_wq); | 708 | flush_workqueue(fsc->inode_wq); |
719 | flush_workqueue(fsc->pg_inv_wq); | ||
720 | flush_workqueue(fsc->trunc_wq); | ||
721 | flush_workqueue(fsc->cap_wq); | 709 | flush_workqueue(fsc->cap_wq); |
722 | } | 710 | } |
723 | 711 | ||
@@ -725,9 +713,7 @@ static void destroy_fs_client(struct ceph_fs_client *fsc) | |||
725 | { | 713 | { |
726 | dout("destroy_fs_client %p\n", fsc); | 714 | dout("destroy_fs_client %p\n", fsc); |
727 | 715 | ||
728 | destroy_workqueue(fsc->wb_wq); | 716 | destroy_workqueue(fsc->inode_wq); |
729 | destroy_workqueue(fsc->pg_inv_wq); | ||
730 | destroy_workqueue(fsc->trunc_wq); | ||
731 | destroy_workqueue(fsc->cap_wq); | 717 | destroy_workqueue(fsc->cap_wq); |
732 | 718 | ||
733 | mempool_destroy(fsc->wb_pagevec_pool); | 719 | mempool_destroy(fsc->wb_pagevec_pool); |