* to replay anything deleted before the fsync
  */
 static noinline int log_dir_items(struct btrfs_trans_handle *trans,
-                         struct btrfs_root *root, struct inode *inode,
+                         struct btrfs_root *root, struct btrfs_inode *inode,
                          struct btrfs_path *path,
                          struct btrfs_path *dst_path, int key_type,
                          struct btrfs_log_ctx *ctx,
        int nritems;
        u64 first_offset = min_offset;
        u64 last_offset = (u64)-1;
-       u64 ino = btrfs_ino(BTRFS_I(inode));
+       u64 ino = btrfs_ino(inode);
 
        log = root->log_root;
 
        min_key = 0;
        max_key = 0;
        while (1) {
-               ret = log_dir_items(trans, root, inode, path,
+               ret = log_dir_items(trans, root, BTRFS_I(inode), path,
                                    dst_path, key_type, ctx, min_key,
                                    &max_key);
                if (ret)