diff options
| author | Jeff Mahoney <jeffm@suse.com> | 2017-02-15 16:28:30 -0500 |
|---|---|---|
| committer | David Sterba <dsterba@suse.com> | 2017-02-17 06:03:56 -0500 |
| commit | 77ab86bf1c64ab282f2230521c7d4d7f69ea3a3f (patch) | |
| tree | 69cb50c98914c2bf277fefc78ec51ce23889ec5f /fs/btrfs/free-space-cache.c | |
| parent | 5e00f1939f6e994123589c6e3d307de02b43c914 (diff) | |
btrfs: free-space-cache, clean up unnecessary root arguments
The free space cache APIs accept a root but always use the tree root.
Also, btrfs_truncate_free_space_cache accepts a root AND an inode but
the inode always points to the root anyway, so let's just pass the inode.
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/free-space-cache.c')
| -rw-r--r-- | fs/btrfs/free-space-cache.c | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c index adf9da907694..27820d48a6f3 100644 --- a/fs/btrfs/free-space-cache.c +++ b/fs/btrfs/free-space-cache.c | |||
| @@ -94,12 +94,11 @@ static struct inode *__lookup_free_space_inode(struct btrfs_root *root, | |||
| 94 | return inode; | 94 | return inode; |
| 95 | } | 95 | } |
| 96 | 96 | ||
| 97 | struct inode *lookup_free_space_inode(struct btrfs_root *root, | 97 | struct inode *lookup_free_space_inode(struct btrfs_fs_info *fs_info, |
| 98 | struct btrfs_block_group_cache | 98 | struct btrfs_block_group_cache |
| 99 | *block_group, struct btrfs_path *path) | 99 | *block_group, struct btrfs_path *path) |
| 100 | { | 100 | { |
| 101 | struct inode *inode = NULL; | 101 | struct inode *inode = NULL; |
| 102 | struct btrfs_fs_info *fs_info = root->fs_info; | ||
| 103 | u32 flags = BTRFS_INODE_NODATASUM | BTRFS_INODE_NODATACOW; | 102 | u32 flags = BTRFS_INODE_NODATASUM | BTRFS_INODE_NODATACOW; |
| 104 | 103 | ||
| 105 | spin_lock(&block_group->lock); | 104 | spin_lock(&block_group->lock); |
| @@ -109,7 +108,7 @@ struct inode *lookup_free_space_inode(struct btrfs_root *root, | |||
| 109 | if (inode) | 108 | if (inode) |
| 110 | return inode; | 109 | return inode; |
| 111 | 110 | ||
| 112 | inode = __lookup_free_space_inode(root, path, | 111 | inode = __lookup_free_space_inode(fs_info->tree_root, path, |
| 113 | block_group->key.objectid); | 112 | block_group->key.objectid); |
| 114 | if (IS_ERR(inode)) | 113 | if (IS_ERR(inode)) |
| 115 | return inode; | 114 | return inode; |
| @@ -192,7 +191,7 @@ static int __create_free_space_inode(struct btrfs_root *root, | |||
| 192 | return 0; | 191 | return 0; |
| 193 | } | 192 | } |
| 194 | 193 | ||
| 195 | int create_free_space_inode(struct btrfs_root *root, | 194 | int create_free_space_inode(struct btrfs_fs_info *fs_info, |
| 196 | struct btrfs_trans_handle *trans, | 195 | struct btrfs_trans_handle *trans, |
| 197 | struct btrfs_block_group_cache *block_group, | 196 | struct btrfs_block_group_cache *block_group, |
| 198 | struct btrfs_path *path) | 197 | struct btrfs_path *path) |
| @@ -200,11 +199,11 @@ int create_free_space_inode(struct btrfs_root *root, | |||
| 200 | int ret; | 199 | int ret; |
| 201 | u64 ino; | 200 | u64 ino; |
| 202 | 201 | ||
| 203 | ret = btrfs_find_free_objectid(root, &ino); | 202 | ret = btrfs_find_free_objectid(fs_info->tree_root, &ino); |
| 204 | if (ret < 0) | 203 | if (ret < 0) |
| 205 | return ret; | 204 | return ret; |
| 206 | 205 | ||
| 207 | return __create_free_space_inode(root, trans, path, ino, | 206 | return __create_free_space_inode(fs_info->tree_root, trans, path, ino, |
| 208 | block_group->key.objectid); | 207 | block_group->key.objectid); |
| 209 | } | 208 | } |
| 210 | 209 | ||
| @@ -227,11 +226,11 @@ int btrfs_check_trunc_cache_free_space(struct btrfs_fs_info *fs_info, | |||
| 227 | return ret; | 226 | return ret; |
| 228 | } | 227 | } |
| 229 | 228 | ||
| 230 | int btrfs_truncate_free_space_cache(struct btrfs_root *root, | 229 | int btrfs_truncate_free_space_cache(struct btrfs_trans_handle *trans, |
| 231 | struct btrfs_trans_handle *trans, | ||
| 232 | struct btrfs_block_group_cache *block_group, | 230 | struct btrfs_block_group_cache *block_group, |
| 233 | struct inode *inode) | 231 | struct inode *inode) |
| 234 | { | 232 | { |
| 233 | struct btrfs_root *root = BTRFS_I(inode)->root; | ||
| 235 | int ret = 0; | 234 | int ret = 0; |
| 236 | struct btrfs_path *path = btrfs_alloc_path(); | 235 | struct btrfs_path *path = btrfs_alloc_path(); |
| 237 | bool locked = false; | 236 | bool locked = false; |
| @@ -824,7 +823,6 @@ int load_free_space_cache(struct btrfs_fs_info *fs_info, | |||
| 824 | struct btrfs_block_group_cache *block_group) | 823 | struct btrfs_block_group_cache *block_group) |
| 825 | { | 824 | { |
| 826 | struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; | 825 | struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; |
| 827 | struct btrfs_root *root = fs_info->tree_root; | ||
| 828 | struct inode *inode; | 826 | struct inode *inode; |
| 829 | struct btrfs_path *path; | 827 | struct btrfs_path *path; |
| 830 | int ret = 0; | 828 | int ret = 0; |
| @@ -848,7 +846,7 @@ int load_free_space_cache(struct btrfs_fs_info *fs_info, | |||
| 848 | path->search_commit_root = 1; | 846 | path->search_commit_root = 1; |
| 849 | path->skip_locking = 1; | 847 | path->skip_locking = 1; |
| 850 | 848 | ||
| 851 | inode = lookup_free_space_inode(root, block_group, path); | 849 | inode = lookup_free_space_inode(fs_info, block_group, path); |
| 852 | if (IS_ERR(inode)) { | 850 | if (IS_ERR(inode)) { |
| 853 | btrfs_free_path(path); | 851 | btrfs_free_path(path); |
| 854 | return 0; | 852 | return 0; |
| @@ -1370,7 +1368,6 @@ int btrfs_write_out_cache(struct btrfs_fs_info *fs_info, | |||
| 1370 | struct btrfs_block_group_cache *block_group, | 1368 | struct btrfs_block_group_cache *block_group, |
| 1371 | struct btrfs_path *path) | 1369 | struct btrfs_path *path) |
| 1372 | { | 1370 | { |
| 1373 | struct btrfs_root *root = fs_info->tree_root; | ||
| 1374 | struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; | 1371 | struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; |
| 1375 | struct inode *inode; | 1372 | struct inode *inode; |
| 1376 | int ret = 0; | 1373 | int ret = 0; |
| @@ -1382,12 +1379,12 @@ int btrfs_write_out_cache(struct btrfs_fs_info *fs_info, | |||
| 1382 | } | 1379 | } |
| 1383 | spin_unlock(&block_group->lock); | 1380 | spin_unlock(&block_group->lock); |
| 1384 | 1381 | ||
| 1385 | inode = lookup_free_space_inode(root, block_group, path); | 1382 | inode = lookup_free_space_inode(fs_info, block_group, path); |
| 1386 | if (IS_ERR(inode)) | 1383 | if (IS_ERR(inode)) |
| 1387 | return 0; | 1384 | return 0; |
| 1388 | 1385 | ||
| 1389 | ret = __btrfs_write_out_cache(root, inode, ctl, block_group, | 1386 | ret = __btrfs_write_out_cache(fs_info->tree_root, inode, ctl, |
| 1390 | &block_group->io_ctl, trans); | 1387 | block_group, &block_group->io_ctl, trans); |
| 1391 | if (ret) { | 1388 | if (ret) { |
| 1392 | #ifdef DEBUG | 1389 | #ifdef DEBUG |
| 1393 | btrfs_err(fs_info, | 1390 | btrfs_err(fs_info, |
