/* Will return either the node or PTR_ERR(-ENOMEM) */
 static struct btrfs_delayed_node *btrfs_get_or_create_delayed_node(
-                                                       struct inode *inode)
+                                                       struct btrfs_inode *btrfs_inode)
 {
        struct btrfs_delayed_node *node;
-       struct btrfs_inode *btrfs_inode = BTRFS_I(inode);
        struct btrfs_root *root = btrfs_inode->root;
        u64 ino = btrfs_ino(btrfs_inode);
        int ret;
        struct btrfs_dir_item *dir_item;
        int ret;
 
-       delayed_node = btrfs_get_or_create_delayed_node(dir);
+       delayed_node = btrfs_get_or_create_delayed_node(BTRFS_I(dir));
        if (IS_ERR(delayed_node))
                return PTR_ERR(delayed_node);
 
        struct btrfs_key item_key;
        int ret;
 
-       node = btrfs_get_or_create_delayed_node(dir);
+       node = btrfs_get_or_create_delayed_node(BTRFS_I(dir));
        if (IS_ERR(node))
                return PTR_ERR(node);
 
        struct btrfs_delayed_node *delayed_node;
        int ret = 0;
 
-       delayed_node = btrfs_get_or_create_delayed_node(inode);
+       delayed_node = btrfs_get_or_create_delayed_node(BTRFS_I(inode));
        if (IS_ERR(delayed_node))
                return PTR_ERR(delayed_node);
 
        if (test_bit(BTRFS_FS_LOG_RECOVERING, &fs_info->flags))
                return -EAGAIN;
 
-       delayed_node = btrfs_get_or_create_delayed_node(inode);
+       delayed_node = btrfs_get_or_create_delayed_node(BTRFS_I(inode));
        if (IS_ERR(delayed_node))
                return PTR_ERR(delayed_node);