{
        struct xfs_mount        *mp = bp->b_mount;
        struct xfs_error_cfg    *cfg;
+       struct xfs_log_item     *lip;
 
        /*
         * If we've already shutdown the journal because of I/O errors, there's
        }
 
        /* Still considered a transient error. Caller will schedule retries. */
-       if (bp->b_flags & _XBF_INODES)
-               xfs_buf_inode_io_fail(bp);
-       else if (bp->b_flags & _XBF_DQUOTS)
-               xfs_buf_dquot_io_fail(bp);
-       else
-               ASSERT(list_empty(&bp->b_li_list));
+       list_for_each_entry(lip, &bp->b_li_list, li_bio_list) {
+               set_bit(XFS_LI_FAILED, &lip->li_flags);
+               clear_bit(XFS_LI_FLUSHING, &lip->li_flags);
+       }
+
        xfs_buf_ioerror(bp, 0);
        xfs_buf_relse(bp);
        return true;
 
 void   xfs_buf_item_log(struct xfs_buf_log_item *, uint, uint);
 bool   xfs_buf_item_dirty_format(struct xfs_buf_log_item *);
 void   xfs_buf_inode_iodone(struct xfs_buf *);
-void   xfs_buf_inode_io_fail(struct xfs_buf *bp);
 #ifdef CONFIG_XFS_QUOTA
 void   xfs_buf_dquot_iodone(struct xfs_buf *);
-void   xfs_buf_dquot_io_fail(struct xfs_buf *bp);
 #else
 static inline void xfs_buf_dquot_iodone(struct xfs_buf *bp)
 {
 }
-static inline void xfs_buf_dquot_io_fail(struct xfs_buf *bp)
-{
-}
 #endif /* CONFIG_XFS_QUOTA */
 void   xfs_buf_iodone(struct xfs_buf *);
 bool   xfs_buf_log_check_iovec(struct xfs_log_iovec *iovec);
 
        }
 }
 
-void
-xfs_buf_dquot_io_fail(
-       struct xfs_buf          *bp)
-{
-       struct xfs_log_item     *lip;
-
-       spin_lock(&bp->b_mount->m_ail->ail_lock);
-       list_for_each_entry(lip, &bp->b_li_list, li_bio_list)
-               set_bit(XFS_LI_FAILED, &lip->li_flags);
-       spin_unlock(&bp->b_mount->m_ail->ail_lock);
-}
-
 /* Check incore dquot for errors before we flush. */
 static xfs_failaddr_t
 xfs_qm_dqflush_check(
 
                list_splice_tail(&flushed_inodes, &bp->b_li_list);
 }
 
-void
-xfs_buf_inode_io_fail(
-       struct xfs_buf          *bp)
-{
-       struct xfs_log_item     *lip;
-
-       list_for_each_entry(lip, &bp->b_li_list, li_bio_list) {
-               set_bit(XFS_LI_FAILED, &lip->li_flags);
-               clear_bit(XFS_LI_FLUSHING, &lip->li_flags);
-       }
-}
-
 /*
  * Clear the inode logging fields so no more flushes are attempted.  If we are
  * on a buffer list, it is now safe to remove it because the buffer is