Btrfs: pass fs_info to btrfs_map_block() instead of mapping_tree
[deliverable/linux.git] / fs / btrfs / inode.c
index 6dca345fd1b692b75fe9a326ef7707816b9eb91f..5d1675a8c9e2afb7db7b3cf9457106a15231d441 100644 (file)
@@ -1549,7 +1549,6 @@ int btrfs_merge_bio_hook(struct page *page, unsigned long offset,
                         unsigned long bio_flags)
 {
        struct btrfs_root *root = BTRFS_I(page->mapping->host)->root;
-       struct btrfs_mapping_tree *map_tree;
        u64 logical = (u64)bio->bi_sector << 9;
        u64 length = 0;
        u64 map_length;
@@ -1559,11 +1558,10 @@ int btrfs_merge_bio_hook(struct page *page, unsigned long offset,
                return 0;
 
        length = bio->bi_size;
-       map_tree = &root->fs_info->mapping_tree;
        map_length = length;
-       ret = btrfs_map_block(map_tree, READ, logical,
+       ret = btrfs_map_block(root->fs_info, READ, logical,
                              &map_length, NULL, 0);
-       /* Will always return 0 or 1 with map_multi == NULL */
+       /* Will always return 0 with map_multi == NULL */
        BUG_ON(ret < 0);
        if (map_length < length + size)
                return 1;
@@ -1675,8 +1673,7 @@ static noinline int add_pending_csums(struct btrfs_trans_handle *trans,
 int btrfs_set_extent_delalloc(struct inode *inode, u64 start, u64 end,
                              struct extent_state **cached_state)
 {
-       if ((end & (PAGE_CACHE_SIZE - 1)) == 0)
-               WARN_ON(1);
+       WARN_ON((end & (PAGE_CACHE_SIZE - 1)) == 0);
        return set_extent_delalloc(&BTRFS_I(inode)->io_tree, start, end,
                                   cached_state, GFP_NOFS);
 }
@@ -3092,7 +3089,6 @@ static int btrfs_unlink(struct inode *dir, struct dentry *dentry)
        struct btrfs_trans_handle *trans;
        struct inode *inode = dentry->d_inode;
        int ret;
-       unsigned long nr = 0;
 
        trans = __unlink_start_trans(dir, dentry);
        if (IS_ERR(trans))
@@ -3112,9 +3108,8 @@ static int btrfs_unlink(struct inode *dir, struct dentry *dentry)
        }
 
 out:
-       nr = trans->blocks_used;
        __unlink_end_trans(trans, root);
-       btrfs_btree_balance_dirty(root, nr);
+       btrfs_btree_balance_dirty(root);
        return ret;
 }
 
@@ -3204,7 +3199,6 @@ static int btrfs_rmdir(struct inode *dir, struct dentry *dentry)
        int err = 0;
        struct btrfs_root *root = BTRFS_I(dir)->root;
        struct btrfs_trans_handle *trans;
-       unsigned long nr = 0;
 
        if (inode->i_size > BTRFS_EMPTY_DIR_SIZE)
                return -ENOTEMPTY;
@@ -3233,9 +3227,8 @@ static int btrfs_rmdir(struct inode *dir, struct dentry *dentry)
        if (!err)
                btrfs_i_size_write(inode, 0);
 out:
-       nr = trans->blocks_used;
        __unlink_end_trans(trans, root);
-       btrfs_btree_balance_dirty(root, nr);
+       btrfs_btree_balance_dirty(root);
 
        return err;
 }
@@ -3801,7 +3794,6 @@ void btrfs_evict_inode(struct inode *inode)
        struct btrfs_root *root = BTRFS_I(inode)->root;
        struct btrfs_block_rsv *rsv, *global_rsv;
        u64 min_size = btrfs_calc_trunc_metadata_size(root, 1);
-       unsigned long nr;
        int ret;
 
        trace_btrfs_inode_evict(inode);
@@ -3883,10 +3875,9 @@ void btrfs_evict_inode(struct inode *inode)
                ret = btrfs_update_inode(trans, root, inode);
                BUG_ON(ret);
 
-               nr = trans->blocks_used;
                btrfs_end_transaction(trans, root);
                trans = NULL;
-               btrfs_btree_balance_dirty(root, nr);
+               btrfs_btree_balance_dirty(root);
        }
 
        btrfs_free_block_rsv(root, rsv);
@@ -3902,9 +3893,8 @@ void btrfs_evict_inode(struct inode *inode)
              root->root_key.objectid == BTRFS_TREE_RELOC_OBJECTID))
                btrfs_return_ino(root, btrfs_ino(inode));
 
-       nr = trans->blocks_used;
        btrfs_end_transaction(trans, root);
-       btrfs_btree_balance_dirty(root, nr);
+       btrfs_btree_balance_dirty(root);
 no_delete:
        clear_inode(inode);
        return;
@@ -4916,7 +4906,6 @@ static int btrfs_mknod(struct inode *dir, struct dentry *dentry,
        int err;
        int drop_inode = 0;
        u64 objectid;
-       unsigned long nr = 0;
        u64 index = 0;
 
        if (!new_valid_dev(rdev))
@@ -4966,9 +4955,8 @@ static int btrfs_mknod(struct inode *dir, struct dentry *dentry,
                d_instantiate(dentry, inode);
        }
 out_unlock:
-       nr = trans->blocks_used;
        btrfs_end_transaction(trans, root);
-       btrfs_btree_balance_dirty(root, nr);
+       btrfs_btree_balance_dirty(root);
        if (drop_inode) {
                inode_dec_link_count(inode);
                iput(inode);
@@ -4984,7 +4972,6 @@ static int btrfs_create(struct inode *dir, struct dentry *dentry,
        struct inode *inode = NULL;
        int drop_inode = 0;
        int err;
-       unsigned long nr = 0;
        u64 objectid;
        u64 index = 0;
 
@@ -5034,13 +5021,12 @@ static int btrfs_create(struct inode *dir, struct dentry *dentry,
                d_instantiate(dentry, inode);
        }
 out_unlock:
-       nr = trans->blocks_used;
        btrfs_end_transaction(trans, root);
        if (drop_inode) {
                inode_dec_link_count(inode);
                iput(inode);
        }
-       btrfs_btree_balance_dirty(root, nr);
+       btrfs_btree_balance_dirty(root);
        return err;
 }
 
@@ -5051,7 +5037,6 @@ static int btrfs_link(struct dentry *old_dentry, struct inode *dir,
        struct btrfs_root *root = BTRFS_I(dir)->root;
        struct inode *inode = old_dentry->d_inode;
        u64 index;
-       unsigned long nr = 0;
        int err;
        int drop_inode = 0;
 
@@ -5095,14 +5080,13 @@ static int btrfs_link(struct dentry *old_dentry, struct inode *dir,
                btrfs_log_new_name(trans, inode, NULL, parent);
        }
 
-       nr = trans->blocks_used;
        btrfs_end_transaction(trans, root);
 fail:
        if (drop_inode) {
                inode_dec_link_count(inode);
                iput(inode);
        }
-       btrfs_btree_balance_dirty(root, nr);
+       btrfs_btree_balance_dirty(root);
        return err;
 }
 
@@ -5115,7 +5099,6 @@ static int btrfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
        int drop_on_err = 0;
        u64 objectid = 0;
        u64 index = 0;
-       unsigned long nr = 1;
 
        /*
         * 2 items for inode and ref
@@ -5161,11 +5144,10 @@ static int btrfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
        drop_on_err = 0;
 
 out_fail:
-       nr = trans->blocks_used;
        btrfs_end_transaction(trans, root);
        if (drop_on_err)
                iput(inode);
-       btrfs_btree_balance_dirty(root, nr);
+       btrfs_btree_balance_dirty(root);
        return err;
 }
 
@@ -6380,7 +6362,6 @@ static int btrfs_submit_direct_hook(int rw, struct btrfs_dio_private *dip,
 {
        struct inode *inode = dip->inode;
        struct btrfs_root *root = BTRFS_I(inode)->root;
-       struct btrfs_mapping_tree *map_tree = &root->fs_info->mapping_tree;
        struct bio *bio;
        struct bio *orig_bio = dip->orig_bio;
        struct bio_vec *bvec = orig_bio->bi_io_vec;
@@ -6393,7 +6374,7 @@ static int btrfs_submit_direct_hook(int rw, struct btrfs_dio_private *dip,
        int async_submit = 0;
 
        map_length = orig_bio->bi_size;
-       ret = btrfs_map_block(map_tree, READ, start_sector << 9,
+       ret = btrfs_map_block(root->fs_info, READ, start_sector << 9,
                              &map_length, NULL, 0);
        if (ret) {
                bio_put(orig_bio);
@@ -6447,7 +6428,8 @@ static int btrfs_submit_direct_hook(int rw, struct btrfs_dio_private *dip,
                        bio->bi_end_io = btrfs_end_dio_bio;
 
                        map_length = orig_bio->bi_size;
-                       ret = btrfs_map_block(map_tree, READ, start_sector << 9,
+                       ret = btrfs_map_block(root->fs_info, READ,
+                                             start_sector << 9,
                                              &map_length, NULL, 0);
                        if (ret) {
                                bio_put(bio);
@@ -6873,7 +6855,6 @@ static int btrfs_truncate(struct inode *inode)
        int ret;
        int err = 0;
        struct btrfs_trans_handle *trans;
-       unsigned long nr;
        u64 mask = root->sectorsize - 1;
        u64 min_size = btrfs_calc_trunc_metadata_size(root, 1);
 
@@ -6996,9 +6977,8 @@ static int btrfs_truncate(struct inode *inode)
                        break;
                }
 
-               nr = trans->blocks_used;
                btrfs_end_transaction(trans, root);
-               btrfs_btree_balance_dirty(root, nr);
+               btrfs_btree_balance_dirty(root);
 
                trans = btrfs_start_transaction(root, 2);
                if (IS_ERR(trans)) {
@@ -7032,9 +7012,8 @@ static int btrfs_truncate(struct inode *inode)
                if (ret && !err)
                        err = ret;
 
-               nr = trans->blocks_used;
                ret = btrfs_end_transaction(trans, root);
-               btrfs_btree_balance_dirty(root, nr);
+               btrfs_btree_balance_dirty(root);
        }
 
 out:
@@ -7595,7 +7574,6 @@ static int btrfs_symlink(struct inode *dir, struct dentry *dentry,
        unsigned long ptr;
        struct btrfs_file_extent_item *ei;
        struct extent_buffer *leaf;
-       unsigned long nr = 0;
 
        name_len = strlen(symname) + 1;
        if (name_len > BTRFS_MAX_INLINE_DATA_SIZE(root))
@@ -7693,13 +7671,12 @@ static int btrfs_symlink(struct inode *dir, struct dentry *dentry,
 out_unlock:
        if (!err)
                d_instantiate(dentry, inode);
-       nr = trans->blocks_used;
        btrfs_end_transaction(trans, root);
        if (drop_inode) {
                inode_dec_link_count(inode);
                iput(inode);
        }
-       btrfs_btree_balance_dirty(root, nr);
+       btrfs_btree_balance_dirty(root);
        return err;
 }
 
This page took 0.038514 seconds and 5 git commands to generate.