xfs: use direct calls for dquot IO completion
Similar to inodes, we can call the dquot IO completion functions directly from the buffer completion code, removing another user of log item callbacks for IO completion processing. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
This commit is contained in:

committad av
Darrick J. Wong

förälder
aac855ab1a
incheckning
6f5de1808e
@@ -15,6 +15,9 @@
|
||||
#include "xfs_buf_item.h"
|
||||
#include "xfs_inode.h"
|
||||
#include "xfs_inode_item.h"
|
||||
#include "xfs_quota.h"
|
||||
#include "xfs_dquot_item.h"
|
||||
#include "xfs_dquot.h"
|
||||
#include "xfs_trans_priv.h"
|
||||
#include "xfs_trace.h"
|
||||
#include "xfs_log.h"
|
||||
@@ -1209,7 +1212,20 @@ void
|
||||
xfs_buf_dquot_iodone(
|
||||
struct xfs_buf *bp)
|
||||
{
|
||||
xfs_buf_run_callbacks(bp);
|
||||
struct xfs_buf_log_item *blip = bp->b_log_item;
|
||||
struct xfs_log_item *lip;
|
||||
|
||||
if (xfs_buf_had_callback_errors(bp))
|
||||
return;
|
||||
|
||||
/* a newly allocated dquot buffer might have a log item attached */
|
||||
if (blip) {
|
||||
lip = &blip->bli_item;
|
||||
lip->li_cb(bp, lip);
|
||||
bp->b_log_item = NULL;
|
||||
}
|
||||
|
||||
xfs_dquot_done(bp);
|
||||
xfs_buf_ioend_finish(bp);
|
||||
}
|
||||
|
||||
|
Referens i nytt ärende
Block a user