]> www.infradead.org Git - users/hch/misc.git/commitdiff
xfs: clean up log item accesses in xfs_qm_dqflush{,_done}
authorDarrick J. Wong <djwong@kernel.org>
Mon, 2 Dec 2024 18:57:37 +0000 (10:57 -0800)
committerDarrick J. Wong <djwong@kernel.org>
Fri, 13 Dec 2024 01:45:11 +0000 (17:45 -0800)
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>
fs/xfs/xfs_dquot.c

index 6ec4087e38dfc817dc3e9ea519c2a262986ad650..1dc85de58e59ed3899ec16669d3fbbdbb051a2fe 100644 (file)
@@ -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