xfs: move the buffer retry logic to xfs_buf.c
Move the buffer retry state machine logic to xfs_buf.c and call it once from xfs_ioend instead of duplicating it three times for the three kinds of buffers. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
This commit is contained in:

committed by
Darrick J. Wong

parent
23fb5a93c2
commit
664ffb8a42
@@ -1107,7 +1107,7 @@ xfs_qm_dqflush_done(
|
||||
}
|
||||
|
||||
void
|
||||
xfs_dquot_done(
|
||||
xfs_buf_dquot_iodone(
|
||||
struct xfs_buf *bp)
|
||||
{
|
||||
struct xfs_log_item *lip, *n;
|
||||
@@ -1118,6 +1118,18 @@ xfs_dquot_done(
|
||||
}
|
||||
}
|
||||
|
||||
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)
|
||||
xfs_set_li_failed(lip, bp);
|
||||
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(
|
||||
|
Reference in New Issue
Block a user