--- 1.53/fs/xfs/xfs_vnodeops.c Tue Mar 2 06:35:29 2004 +++ edited/fs/xfs/xfs_vnodeops.c Thu Mar 4 14:03:06 2004 @@ -3974,21 +3974,9 @@ * avoids flushing the inode to disk during the delete operation * itself. */ - if (!ip->i_update_core && (ip->i_itemp == NULL)) { - xfs_ilock(ip, XFS_ILOCK_EXCL); - xfs_iflock(ip); - return xfs_finish_reclaim(ip, 1, XFS_IFLUSH_DELWRI_ELSE_SYNC); - } else { - xfs_mount_t *mp = ip->i_mount; - - /* Protect sync from us */ - XFS_MOUNT_ILOCK(mp); - vn_bhv_remove(VN_BHV_HEAD(vp), XFS_ITOBHV(ip)); - list_add_tail(&ip->i_reclaim, &mp->m_del_inodes); - ip->i_flags |= XFS_IRECLAIMABLE; - XFS_MOUNT_IUNLOCK(mp); - } - return 0; + xfs_ilock(ip, XFS_ILOCK_EXCL); + xfs_iflock(ip); + return xfs_finish_reclaim(ip, 1, XFS_IFLUSH_DELWRI_ELSE_SYNC); } int --- 1.20/fs/xfs/xfs_iget.c Fri Jan 9 07:20:13 2004 +++ edited/fs/xfs/xfs_iget.c Thu Mar 4 15:54:35 2004 @@ -578,7 +548,7 @@ /* We shouldn't get here without this being true, but just in case */ if (inode->i_state & I_NEW) { - make_bad_inode(inode); + remove_inode_hash(inode); unlock_new_inode(inode); } if (lock_flags)