* we logged the inode or it might have also done the unlink).
  */
 static bool btrfs_must_commit_transaction(struct btrfs_trans_handle *trans,
-                                         struct inode *inode)
+                                         struct btrfs_inode *inode)
 {
-       struct btrfs_fs_info *fs_info = BTRFS_I(inode)->root->fs_info;
+       struct btrfs_fs_info *fs_info = inode->root->fs_info;
        bool ret = false;
 
-       mutex_lock(&BTRFS_I(inode)->log_mutex);
-       if (BTRFS_I(inode)->last_unlink_trans > fs_info->last_trans_committed) {
+       mutex_lock(&inode->log_mutex);
+       if (inode->last_unlink_trans > fs_info->last_trans_committed) {
                /*
                 * Make sure any commits to the log are forced to be full
                 * commits.
                btrfs_set_log_full_commit(fs_info, trans);
                ret = true;
        }
-       mutex_unlock(&BTRFS_I(inode)->log_mutex);
+       mutex_unlock(&inode->log_mutex);
 
        return ret;
 }
                        BTRFS_I(inode)->logged_trans = trans->transid;
                smp_mb();
 
-               if (btrfs_must_commit_transaction(trans, inode)) {
+               if (btrfs_must_commit_transaction(trans, BTRFS_I(inode))) {
                        ret = 1;
                        break;
                }
 
                if (IS_ROOT(parent)) {
                        inode = d_inode(parent);
-                       if (btrfs_must_commit_transaction(trans, inode))
+                       if (btrfs_must_commit_transaction(trans, BTRFS_I(inode)))
                                ret = 1;
                        break;
                }
                        ret = btrfs_log_inode(trans, root, di_inode,
                                              log_mode, 0, LLONG_MAX, ctx);
                        if (!ret &&
-                           btrfs_must_commit_transaction(trans, di_inode))
+                           btrfs_must_commit_transaction(trans, BTRFS_I(di_inode)))
                                ret = 1;
                        iput(di_inode);
                        if (ret)
                        ret = btrfs_log_inode(trans, root, dir_inode,
                                              LOG_INODE_ALL, 0, LLONG_MAX, ctx);
                        if (!ret &&
-                           btrfs_must_commit_transaction(trans, dir_inode))
+                           btrfs_must_commit_transaction(trans, BTRFS_I(dir_inode)))
                                ret = 1;
                        if (!ret && ctx && ctx->log_new_dentries)
                                ret = log_new_dir_dentries(trans, root,