mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-04 04:02:26 +00:00
xfs: clean up log item accesses in xfs_qm_dqflush{,_done}
Clean up these functions a little bit before we move on to the real modifications, and make the variable naming consistent for dquot log items. Signed-off-by: "Darrick J. Wong" <djwong@kernel.org> Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
a40fe30868
commit
ec88b41b93
@ -1142,8 +1142,9 @@ static void
|
||||
xfs_qm_dqflush_done(
|
||||
struct xfs_log_item *lip)
|
||||
{
|
||||
struct xfs_dq_logitem *qip = (struct xfs_dq_logitem *)lip;
|
||||
struct xfs_dquot *dqp = qip->qli_dquot;
|
||||
struct xfs_dq_logitem *qlip =
|
||||
container_of(lip, struct xfs_dq_logitem, qli_item);
|
||||
struct xfs_dquot *dqp = qlip->qli_dquot;
|
||||
struct xfs_ail *ailp = lip->li_ailp;
|
||||
xfs_lsn_t tail_lsn;
|
||||
|
||||
@ -1156,12 +1157,12 @@ xfs_qm_dqflush_done(
|
||||
* holding the lock before removing the dquot from the AIL.
|
||||
*/
|
||||
if (test_bit(XFS_LI_IN_AIL, &lip->li_flags) &&
|
||||
((lip->li_lsn == qip->qli_flush_lsn) ||
|
||||
(lip->li_lsn == qlip->qli_flush_lsn ||
|
||||
test_bit(XFS_LI_FAILED, &lip->li_flags))) {
|
||||
|
||||
spin_lock(&ailp->ail_lock);
|
||||
xfs_clear_li_failed(lip);
|
||||
if (lip->li_lsn == qip->qli_flush_lsn) {
|
||||
if (lip->li_lsn == qlip->qli_flush_lsn) {
|
||||
/* xfs_ail_update_finish() drops the AIL lock */
|
||||
tail_lsn = xfs_ail_delete_one(ailp, lip);
|
||||
xfs_ail_update_finish(ailp, tail_lsn);
|
||||
@ -1319,7 +1320,7 @@ xfs_qm_dqflush(
|
||||
dqp->q_flags &= ~XFS_DQFLAG_DIRTY;
|
||||
|
||||
xfs_trans_ail_copy_lsn(mp->m_ail, &dqp->q_logitem.qli_flush_lsn,
|
||||
&dqp->q_logitem.qli_item.li_lsn);
|
||||
&lip->li_lsn);
|
||||
|
||||
/*
|
||||
* copy the lsn into the on-disk dquot now while we have the in memory
|
||||
@ -1331,7 +1332,7 @@ xfs_qm_dqflush(
|
||||
* of a dquot without an up-to-date CRC getting to disk.
|
||||
*/
|
||||
if (xfs_has_crc(mp)) {
|
||||
dqblk->dd_lsn = cpu_to_be64(dqp->q_logitem.qli_item.li_lsn);
|
||||
dqblk->dd_lsn = cpu_to_be64(lip->li_lsn);
|
||||
xfs_update_cksum((char *)dqblk, sizeof(struct xfs_dqblk),
|
||||
XFS_DQUOT_CRC_OFF);
|
||||
}
|
||||
@ -1341,7 +1342,7 @@ xfs_qm_dqflush(
|
||||
* the AIL and release the flush lock once the dquot is synced to disk.
|
||||
*/
|
||||
bp->b_flags |= _XBF_DQUOTS;
|
||||
list_add_tail(&dqp->q_logitem.qli_item.li_bio_list, &bp->b_li_list);
|
||||
list_add_tail(&lip->li_bio_list, &bp->b_li_list);
|
||||
|
||||
/*
|
||||
* If the buffer is pinned then push on the log so we won't
|
||||
|
Loading…
Reference in New Issue
Block a user