struct extent_state *state, u32 bits);
 void btrfs_merge_delalloc_extent(struct btrfs_inode *inode, struct extent_state *new,
                                 struct extent_state *other);
-void btrfs_split_delalloc_extent(struct inode *inode,
+void btrfs_split_delalloc_extent(struct btrfs_inode *inode,
                                 struct extent_state *orig, u64 split);
 void btrfs_set_range_writeback(struct btrfs_inode *inode, u64 start, u64 end);
 vm_fault_t btrfs_page_mkwrite(struct vm_fault *vmf);
 
        struct rb_node **node;
 
        if (tree->inode)
-               btrfs_split_delalloc_extent(&tree->inode->vfs_inode, orig, split);
+               btrfs_split_delalloc_extent(tree->inode, orig, split);
 
        prealloc->start = orig->start;
        prealloc->end = split - 1;
 
        return ret;
 }
 
-void btrfs_split_delalloc_extent(struct inode *inode,
+void btrfs_split_delalloc_extent(struct btrfs_inode *inode,
                                 struct extent_state *orig, u64 split)
 {
-       struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb);
+       struct btrfs_fs_info *fs_info = inode->root->fs_info;
        u64 size;
 
        /* not delalloc, ignore it */
                        return;
        }
 
-       spin_lock(&BTRFS_I(inode)->lock);
-       btrfs_mod_outstanding_extents(BTRFS_I(inode), 1);
-       spin_unlock(&BTRFS_I(inode)->lock);
+       spin_lock(&inode->lock);
+       btrfs_mod_outstanding_extents(inode, 1);
+       spin_unlock(&inode->lock);
 }
 
 /*