aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/disk-io.c
diff options
context:
space:
mode:
authorQu Wenruo <quwenruo@cn.fujitsu.com>2014-02-27 21:46:13 -0500
committerJosef Bacik <jbacik@fb.com>2014-03-10 15:17:11 -0400
commit736cfa15e89a654436d4149c109bf1ae09fc67cf (patch)
tree3653221246447e904225d2bcee6048d95d46014b /fs/btrfs/disk-io.c
parente66f0bb14465371d4c86fa70cff2acc331efa1fb (diff)
btrfs: Replace fs_info->readahead_workers workqueue with btrfs_workqueue.
Replace the fs_info->readahead_workers with the newly created btrfs_workqueue. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Tested-by: David Sterba <dsterba@suse.cz> Signed-off-by: Josef Bacik <jbacik@fb.com>
Diffstat (limited to 'fs/btrfs/disk-io.c')
-rw-r--r--fs/btrfs/disk-io.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 9c14e3bd078c..c0b003bb66cd 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -2008,7 +2008,7 @@ static void btrfs_stop_all_workers(struct btrfs_fs_info *fs_info)
2008 btrfs_destroy_workqueue(fs_info->submit_workers); 2008 btrfs_destroy_workqueue(fs_info->submit_workers);
2009 btrfs_stop_workers(&fs_info->delayed_workers); 2009 btrfs_stop_workers(&fs_info->delayed_workers);
2010 btrfs_destroy_workqueue(fs_info->caching_workers); 2010 btrfs_destroy_workqueue(fs_info->caching_workers);
2011 btrfs_stop_workers(&fs_info->readahead_workers); 2011 btrfs_destroy_workqueue(fs_info->readahead_workers);
2012 btrfs_destroy_workqueue(fs_info->flush_workers); 2012 btrfs_destroy_workqueue(fs_info->flush_workers);
2013 btrfs_stop_workers(&fs_info->qgroup_rescan_workers); 2013 btrfs_stop_workers(&fs_info->qgroup_rescan_workers);
2014} 2014}
@@ -2522,14 +2522,11 @@ int open_ctree(struct super_block *sb,
2522 btrfs_init_workers(&fs_info->delayed_workers, "delayed-meta", 2522 btrfs_init_workers(&fs_info->delayed_workers, "delayed-meta",
2523 fs_info->thread_pool_size, 2523 fs_info->thread_pool_size,
2524 &fs_info->generic_worker); 2524 &fs_info->generic_worker);
2525 btrfs_init_workers(&fs_info->readahead_workers, "readahead", 2525 fs_info->readahead_workers =
2526 fs_info->thread_pool_size, 2526 btrfs_alloc_workqueue("readahead", flags, max_active, 2);
2527 &fs_info->generic_worker);
2528 btrfs_init_workers(&fs_info->qgroup_rescan_workers, "qgroup-rescan", 1, 2527 btrfs_init_workers(&fs_info->qgroup_rescan_workers, "qgroup-rescan", 1,
2529 &fs_info->generic_worker); 2528 &fs_info->generic_worker);
2530 2529
2531 fs_info->readahead_workers.idle_thresh = 2;
2532
2533 /* 2530 /*
2534 * btrfs_start_workers can really only fail because of ENOMEM so just 2531 * btrfs_start_workers can really only fail because of ENOMEM so just
2535 * return -ENOMEM if any of these fail. 2532 * return -ENOMEM if any of these fail.
@@ -2537,7 +2534,6 @@ int open_ctree(struct super_block *sb,
2537 ret = btrfs_start_workers(&fs_info->generic_worker); 2534 ret = btrfs_start_workers(&fs_info->generic_worker);
2538 ret |= btrfs_start_workers(&fs_info->fixup_workers); 2535 ret |= btrfs_start_workers(&fs_info->fixup_workers);
2539 ret |= btrfs_start_workers(&fs_info->delayed_workers); 2536 ret |= btrfs_start_workers(&fs_info->delayed_workers);
2540 ret |= btrfs_start_workers(&fs_info->readahead_workers);
2541 ret |= btrfs_start_workers(&fs_info->qgroup_rescan_workers); 2537 ret |= btrfs_start_workers(&fs_info->qgroup_rescan_workers);
2542 if (ret) { 2538 if (ret) {
2543 err = -ENOMEM; 2539 err = -ENOMEM;
@@ -2549,7 +2545,7 @@ int open_ctree(struct super_block *sb,
2549 fs_info->endio_meta_write_workers && 2545 fs_info->endio_meta_write_workers &&
2550 fs_info->endio_write_workers && fs_info->endio_raid56_workers && 2546 fs_info->endio_write_workers && fs_info->endio_raid56_workers &&
2551 fs_info->endio_freespace_worker && fs_info->rmw_workers && 2547 fs_info->endio_freespace_worker && fs_info->rmw_workers &&
2552 fs_info->caching_workers)) { 2548 fs_info->caching_workers && fs_info->readahead_workers)) {
2553 err = -ENOMEM; 2549 err = -ENOMEM;
2554 goto fail_sb_buffer; 2550 goto fail_sb_buffer;
2555 } 2551 }