diff options
author | Qu Wenruo <quwenruo@cn.fujitsu.com> | 2014-02-27 21:46:15 -0500 |
---|---|---|
committer | Josef Bacik <jbacik@fb.com> | 2014-03-10 15:17:12 -0400 |
commit | 5b3bc44e2e69d42edf40ca3785040d233ca949f4 (patch) | |
tree | b0d2832d426253db620fcffec3bddd80cf1ff24f | |
parent | dc6e320998fb907e4c19032d545d461bfe5040d1 (diff) |
btrfs: Replace fs_info->delayed_workers workqueue with btrfs_workqueue.
Replace the fs_info->delayed_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>
-rw-r--r-- | fs/btrfs/ctree.h | 2 | ||||
-rw-r--r-- | fs/btrfs/delayed-inode.c | 10 | ||||
-rw-r--r-- | fs/btrfs/disk-io.c | 10 | ||||
-rw-r--r-- | fs/btrfs/super.c | 2 |
4 files changed, 11 insertions, 13 deletions
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index dd79fc5a8c99..c07b67f6f924 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h | |||
@@ -1525,7 +1525,7 @@ struct btrfs_fs_info { | |||
1525 | * for the sys_munmap function call path | 1525 | * for the sys_munmap function call path |
1526 | */ | 1526 | */ |
1527 | struct btrfs_workqueue_struct *fixup_workers; | 1527 | struct btrfs_workqueue_struct *fixup_workers; |
1528 | struct btrfs_workers delayed_workers; | 1528 | struct btrfs_workqueue_struct *delayed_workers; |
1529 | struct task_struct *transaction_kthread; | 1529 | struct task_struct *transaction_kthread; |
1530 | struct task_struct *cleaner_kthread; | 1530 | struct task_struct *cleaner_kthread; |
1531 | int thread_pool_size; | 1531 | int thread_pool_size; |
diff --git a/fs/btrfs/delayed-inode.c b/fs/btrfs/delayed-inode.c index 451b00c86f6c..76e85d66801f 100644 --- a/fs/btrfs/delayed-inode.c +++ b/fs/btrfs/delayed-inode.c | |||
@@ -1318,10 +1318,10 @@ void btrfs_remove_delayed_node(struct inode *inode) | |||
1318 | struct btrfs_async_delayed_work { | 1318 | struct btrfs_async_delayed_work { |
1319 | struct btrfs_delayed_root *delayed_root; | 1319 | struct btrfs_delayed_root *delayed_root; |
1320 | int nr; | 1320 | int nr; |
1321 | struct btrfs_work work; | 1321 | struct btrfs_work_struct work; |
1322 | }; | 1322 | }; |
1323 | 1323 | ||
1324 | static void btrfs_async_run_delayed_root(struct btrfs_work *work) | 1324 | static void btrfs_async_run_delayed_root(struct btrfs_work_struct *work) |
1325 | { | 1325 | { |
1326 | struct btrfs_async_delayed_work *async_work; | 1326 | struct btrfs_async_delayed_work *async_work; |
1327 | struct btrfs_delayed_root *delayed_root; | 1327 | struct btrfs_delayed_root *delayed_root; |
@@ -1392,11 +1392,11 @@ static int btrfs_wq_run_delayed_node(struct btrfs_delayed_root *delayed_root, | |||
1392 | return -ENOMEM; | 1392 | return -ENOMEM; |
1393 | 1393 | ||
1394 | async_work->delayed_root = delayed_root; | 1394 | async_work->delayed_root = delayed_root; |
1395 | async_work->work.func = btrfs_async_run_delayed_root; | 1395 | btrfs_init_work(&async_work->work, btrfs_async_run_delayed_root, |
1396 | async_work->work.flags = 0; | 1396 | NULL, NULL); |
1397 | async_work->nr = nr; | 1397 | async_work->nr = nr; |
1398 | 1398 | ||
1399 | btrfs_queue_worker(&root->fs_info->delayed_workers, &async_work->work); | 1399 | btrfs_queue_work(root->fs_info->delayed_workers, &async_work->work); |
1400 | return 0; | 1400 | return 0; |
1401 | } | 1401 | } |
1402 | 1402 | ||
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 392cd3baefe4..f5da1fd23ee9 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c | |||
@@ -2006,7 +2006,7 @@ static void btrfs_stop_all_workers(struct btrfs_fs_info *fs_info) | |||
2006 | btrfs_destroy_workqueue(fs_info->endio_write_workers); | 2006 | btrfs_destroy_workqueue(fs_info->endio_write_workers); |
2007 | btrfs_destroy_workqueue(fs_info->endio_freespace_worker); | 2007 | btrfs_destroy_workqueue(fs_info->endio_freespace_worker); |
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_destroy_workqueue(fs_info->delayed_workers); |
2010 | btrfs_destroy_workqueue(fs_info->caching_workers); | 2010 | btrfs_destroy_workqueue(fs_info->caching_workers); |
2011 | btrfs_destroy_workqueue(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); |
@@ -2519,9 +2519,8 @@ int open_ctree(struct super_block *sb, | |||
2519 | btrfs_alloc_workqueue("endio-write", flags, max_active, 2); | 2519 | btrfs_alloc_workqueue("endio-write", flags, max_active, 2); |
2520 | fs_info->endio_freespace_worker = | 2520 | fs_info->endio_freespace_worker = |
2521 | btrfs_alloc_workqueue("freespace-write", flags, max_active, 0); | 2521 | btrfs_alloc_workqueue("freespace-write", flags, max_active, 0); |
2522 | btrfs_init_workers(&fs_info->delayed_workers, "delayed-meta", | 2522 | fs_info->delayed_workers = |
2523 | fs_info->thread_pool_size, | 2523 | btrfs_alloc_workqueue("delayed-meta", flags, max_active, 0); |
2524 | &fs_info->generic_worker); | ||
2525 | fs_info->readahead_workers = | 2524 | fs_info->readahead_workers = |
2526 | btrfs_alloc_workqueue("readahead", flags, max_active, 2); | 2525 | btrfs_alloc_workqueue("readahead", flags, max_active, 2); |
2527 | btrfs_init_workers(&fs_info->qgroup_rescan_workers, "qgroup-rescan", 1, | 2526 | btrfs_init_workers(&fs_info->qgroup_rescan_workers, "qgroup-rescan", 1, |
@@ -2532,7 +2531,6 @@ int open_ctree(struct super_block *sb, | |||
2532 | * return -ENOMEM if any of these fail. | 2531 | * return -ENOMEM if any of these fail. |
2533 | */ | 2532 | */ |
2534 | ret = btrfs_start_workers(&fs_info->generic_worker); | 2533 | ret = btrfs_start_workers(&fs_info->generic_worker); |
2535 | ret |= btrfs_start_workers(&fs_info->delayed_workers); | ||
2536 | ret |= btrfs_start_workers(&fs_info->qgroup_rescan_workers); | 2534 | ret |= btrfs_start_workers(&fs_info->qgroup_rescan_workers); |
2537 | if (ret) { | 2535 | if (ret) { |
2538 | err = -ENOMEM; | 2536 | err = -ENOMEM; |
@@ -2545,7 +2543,7 @@ int open_ctree(struct super_block *sb, | |||
2545 | fs_info->endio_write_workers && fs_info->endio_raid56_workers && | 2543 | fs_info->endio_write_workers && fs_info->endio_raid56_workers && |
2546 | fs_info->endio_freespace_worker && fs_info->rmw_workers && | 2544 | fs_info->endio_freespace_worker && fs_info->rmw_workers && |
2547 | fs_info->caching_workers && fs_info->readahead_workers && | 2545 | fs_info->caching_workers && fs_info->readahead_workers && |
2548 | fs_info->fixup_workers)) { | 2546 | fs_info->fixup_workers && fs_info->delayed_workers)) { |
2549 | err = -ENOMEM; | 2547 | err = -ENOMEM; |
2550 | goto fail_sb_buffer; | 2548 | goto fail_sb_buffer; |
2551 | } | 2549 | } |
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c index 2e1d6cf4dc66..fd07d039b2de 100644 --- a/fs/btrfs/super.c +++ b/fs/btrfs/super.c | |||
@@ -1334,7 +1334,7 @@ static void btrfs_resize_thread_pool(struct btrfs_fs_info *fs_info, | |||
1334 | new_pool_size); | 1334 | new_pool_size); |
1335 | btrfs_workqueue_set_max(fs_info->endio_write_workers, new_pool_size); | 1335 | btrfs_workqueue_set_max(fs_info->endio_write_workers, new_pool_size); |
1336 | btrfs_workqueue_set_max(fs_info->endio_freespace_worker, new_pool_size); | 1336 | btrfs_workqueue_set_max(fs_info->endio_freespace_worker, new_pool_size); |
1337 | btrfs_set_max_workers(&fs_info->delayed_workers, new_pool_size); | 1337 | btrfs_workqueue_set_max(fs_info->delayed_workers, new_pool_size); |
1338 | btrfs_workqueue_set_max(fs_info->readahead_workers, new_pool_size); | 1338 | btrfs_workqueue_set_max(fs_info->readahead_workers, new_pool_size); |
1339 | btrfs_set_max_workers(&fs_info->scrub_wr_completion_workers, | 1339 | btrfs_set_max_workers(&fs_info->scrub_wr_completion_workers, |
1340 | new_pool_size); | 1340 | new_pool_size); |