btrfs_header_backref_rev(buf) < BTRFS_MIXED_BACKREF_REV)
                        parent_start = buf->start;
 
-               extent_buffer_get(cow);
+               atomic_inc(&cow->refs);
                ret = tree_mod_log_insert_root(root->node, cow, 1);
                BUG_ON(ret < 0);
                rcu_assign_pointer(root->node, cow);
        /* update the path */
        if (left) {
                if (btrfs_header_nritems(left) > orig_slot) {
-                       extent_buffer_get(left);
+                       atomic_inc(&left->refs);
                        /* left was locked after cow */
                        path->nodes[level] = left;
                        path->slots[level + 1] -= 1;
 
                } else {
                        b = root->commit_root;
-                       extent_buffer_get(b);
+                       atomic_inc(&b->refs);
                }
                level = btrfs_header_level(b);
                /*
        free_extent_buffer(old);
 
        add_root_to_dirty_list(root);
-       extent_buffer_get(c);
+       atomic_inc(&c->refs);
        path->nodes[level] = c;
        path->locks[level] = BTRFS_WRITE_LOCK_BLOCKING;
        path->slots[level] = 0;
 
        root_sub_used(root, leaf->len);
 
-       extent_buffer_get(leaf);
+       atomic_inc(&leaf->refs);
        btrfs_free_tree_block(trans, root, leaf, 0, 1);
        free_extent_buffer_stale(leaf);
 }
                         * for possible call to del_ptr below
                         */
                        slot = path->slots[1];
-                       extent_buffer_get(leaf);
+                       atomic_inc(&leaf->refs);
 
                        btrfs_set_path_blocking(path);
                        wret = push_leaf_left(trans, root, path, 1, 1,
 
        /* the pending IO might have been the only thing that kept this buffer
         * in memory.  Make sure we have a ref for all this other checks
         */
-       extent_buffer_get(eb);
+       atomic_inc(&eb->refs);
 
        reads_done = atomic_dec_and_test(&eb->io_pages);
        if (!reads_done)
 
 
        btrfs_assert_tree_locked(parent);
        parent_level = btrfs_header_level(parent);
-       extent_buffer_get(parent);
+       atomic_inc(&parent->refs);
        path->nodes[parent_level] = parent;
        path->slots[parent_level] = btrfs_header_nritems(parent);
 
 
               (eb->start >> PAGE_SHIFT);
 }
 
-static inline void extent_buffer_get(struct extent_buffer *eb)
-{
-       atomic_inc(&eb->refs);
-}
-
 static inline int extent_buffer_uptodate(struct extent_buffer *eb)
 {
        return test_bit(EXTENT_BUFFER_UPTODATE, &eb->bflags);
 
                btrfs_item_key_to_cpu(dst_path->nodes[dst_level], &key, 0);
 
        /* For src_path */
-       extent_buffer_get(src_eb);
+       atomic_inc(&src_eb->refs);
        src_path->nodes[root_level] = src_eb;
        src_path->slots[root_level] = dst_path->slots[root_level];
        src_path->locks[root_level] = 0;
                goto out;
        }
        /* For dst_path */
-       extent_buffer_get(dst_eb);
+       atomic_inc(&dst_eb->refs);
        dst_path->nodes[level] = dst_eb;
        dst_path->slots[level] = 0;
        dst_path->locks[level] = 0;
         * walk back up the tree (adjusting slot pointers as we go)
         * and restart the search process.
         */
-       extent_buffer_get(root_eb); /* For path */
+       atomic_inc(&root_eb->refs);     /* For path */
        path->nodes[root_level] = root_eb;
        path->slots[root_level] = 0;
        path->locks[root_level] = 0; /* so release_path doesn't try to unlock */
 
 
        if (btrfs_disk_key_objectid(&root_item->drop_progress) == 0) {
                level = btrfs_root_level(root_item);
-               extent_buffer_get(reloc_root->node);
+               atomic_inc(&reloc_root->node->refs);
                path->nodes[level] = reloc_root->node;
                path->slots[level] = 0;
        } else {
                       node->new_bytenr != buf->start);
 
                drop_node_buffer(node);
-               extent_buffer_get(cow);
+               atomic_inc(&cow->refs);
                node->eb = cow;
                node->new_bytenr = cow->start;
 
 
        level = btrfs_header_level(log->node);
        orig_level = level;
        path->nodes[level] = log->node;
-       extent_buffer_get(log->node);
+       atomic_inc(&log->node->refs);
        path->slots[level] = 0;
 
        while (1) {