return tm;
 }
 
-static noinline int
-tree_mod_log_insert_key(struct btrfs_fs_info *fs_info,
-                       struct extent_buffer *eb, int slot,
-                       enum mod_log_op op, gfp_t flags)
+static noinline int tree_mod_log_insert_key(struct extent_buffer *eb, int slot,
+               enum mod_log_op op, gfp_t flags)
 {
        struct tree_mod_elem *tm;
        int ret;
 
-       if (!tree_mod_need_log(fs_info, eb))
+       if (!tree_mod_need_log(eb->fs_info, eb))
                return 0;
 
        tm = alloc_tree_mod_elem(eb, slot, op, flags);
        if (!tm)
                return -ENOMEM;
 
-       if (tree_mod_dont_log(fs_info, eb)) {
+       if (tree_mod_dont_log(eb->fs_info, eb)) {
                kfree(tm);
                return 0;
        }
 
-       ret = __tree_mod_log_insert(fs_info, tm);
-       tree_mod_log_write_unlock(fs_info);
+       ret = __tree_mod_log_insert(eb->fs_info, tm);
+       tree_mod_log_write_unlock(eb->fs_info);
        if (ret)
                kfree(tm);
 
 {
        int ret;
 
-       ret = tree_mod_log_insert_key(eb->fs_info, eb, slot,
-                                       MOD_LOG_KEY_REPLACE,
+       ret = tree_mod_log_insert_key(eb, slot, MOD_LOG_KEY_REPLACE,
                                        atomic ? GFP_ATOMIC : GFP_NOFS);
        BUG_ON(ret < 0);
 }
                add_root_to_dirty_list(root);
        } else {
                WARN_ON(trans->transid != btrfs_header_generation(parent));
-               tree_mod_log_insert_key(fs_info, parent, parent_slot,
+               tree_mod_log_insert_key(parent, parent_slot,
                                        MOD_LOG_KEY_REPLACE, GFP_NOFS);
                btrfs_set_node_blockptr(parent, parent_slot,
                                        cow->start);
                              (nritems - slot) * sizeof(struct btrfs_key_ptr));
        }
        if (level) {
-               ret = tree_mod_log_insert_key(fs_info, lower, slot,
-                                             MOD_LOG_KEY_ADD, GFP_NOFS);
+               ret = tree_mod_log_insert_key(lower, slot, MOD_LOG_KEY_ADD,
+                               GFP_NOFS);
                BUG_ON(ret < 0);
        }
        btrfs_set_node_key(lower, key, slot);
                              sizeof(struct btrfs_key_ptr) *
                              (nritems - slot - 1));
        } else if (level) {
-               ret = tree_mod_log_insert_key(fs_info, parent, slot,
-                                             MOD_LOG_KEY_REMOVE, GFP_NOFS);
+               ret = tree_mod_log_insert_key(parent, slot, MOD_LOG_KEY_REMOVE,
+                               GFP_NOFS);
                BUG_ON(ret < 0);
        }