summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/free-space-cache.c
diff options
context:
space:
mode:
authorJeff Mahoney <jeffm@suse.com>2017-02-15 16:28:30 -0500
committerDavid Sterba <dsterba@suse.com>2017-02-17 06:03:56 -0500
commit77ab86bf1c64ab282f2230521c7d4d7f69ea3a3f (patch)
tree69cb50c98914c2bf277fefc78ec51ce23889ec5f /fs/btrfs/free-space-cache.c
parent5e00f1939f6e994123589c6e3d307de02b43c914 (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.c25
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
97struct inode *lookup_free_space_inode(struct btrfs_root *root, 97struct 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
195int create_free_space_inode(struct btrfs_root *root, 194int 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
230int btrfs_truncate_free_space_cache(struct btrfs_root *root, 229int 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,