| From: Daniel Dressler <danieru.dressler@gmail.com> |
| Date: Mon, 17 Nov 2014 22:05:02 +0900 |
| Subject: Btrfs: delayed-inode: replace root args iff only fs_info used |
| |
| commit a585e94895ed8ab2930bfd5186ffd20301b5c703 upstream. |
| |
| This is the second independent patch of a larger project to cleanup |
| btrfs's internal usage of btrfs_root. Many functions take btrfs_root |
| only to grab the fs_info struct. |
| |
| By requiring a root these functions cause programmer overhead. That |
| these functions can accept any valid root is not obvious until |
| inspection. |
| |
| This patch reduces the specificity of such functions to accept the |
| fs_info directly. |
| |
| These patches can be applied independently and thus are not being |
| submitted as a patch series. There should be about 26 patches by the |
| project's completion. Each patch will cleanup between 1 and 34 functions |
| apiece. Each patch covers a single file's functions. |
| |
| This patch affects the following function(s): |
| 1) btrfs_wq_run_delayed_node |
| |
| Signed-off-by: Daniel Dressler <danieru.dressler@gmail.com> |
| Signed-off-by: David Sterba <dsterba@suse.cz> |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| fs/btrfs/delayed-inode.c | 9 +++++---- |
| 1 file changed, 5 insertions(+), 4 deletions(-) |
| |
| --- a/fs/btrfs/delayed-inode.c |
| +++ b/fs/btrfs/delayed-inode.c |
| @@ -1383,7 +1383,7 @@ out: |
| |
| |
| static int btrfs_wq_run_delayed_node(struct btrfs_delayed_root *delayed_root, |
| - struct btrfs_root *root, int nr) |
| + struct btrfs_fs_info *fs_info, int nr) |
| { |
| struct btrfs_async_delayed_work *async_work; |
| |
| @@ -1399,7 +1399,7 @@ static int btrfs_wq_run_delayed_node(str |
| btrfs_async_run_delayed_root, NULL, NULL); |
| async_work->nr = nr; |
| |
| - btrfs_queue_work(root->fs_info->delayed_workers, &async_work->work); |
| + btrfs_queue_work(fs_info->delayed_workers, &async_work->work); |
| return 0; |
| } |
| |
| @@ -1426,6 +1426,7 @@ static int could_end_wait(struct btrfs_d |
| void btrfs_balance_delayed_items(struct btrfs_root *root) |
| { |
| struct btrfs_delayed_root *delayed_root; |
| + struct btrfs_fs_info *fs_info = root->fs_info; |
| |
| delayed_root = btrfs_get_delayed_root(root); |
| |
| @@ -1438,7 +1439,7 @@ void btrfs_balance_delayed_items(struct |
| |
| seq = atomic_read(&delayed_root->items_seq); |
| |
| - ret = btrfs_wq_run_delayed_node(delayed_root, root, 0); |
| + ret = btrfs_wq_run_delayed_node(delayed_root, fs_info, 0); |
| if (ret) |
| return; |
| |
| @@ -1447,7 +1448,7 @@ void btrfs_balance_delayed_items(struct |
| return; |
| } |
| |
| - btrfs_wq_run_delayed_node(delayed_root, root, BTRFS_DELAYED_BATCH); |
| + btrfs_wq_run_delayed_node(delayed_root, fs_info, BTRFS_DELAYED_BATCH); |
| } |
| |
| /* Will return 0 or -ENOMEM */ |