]> www.infradead.org Git - users/hch/xfsprogs.git/commitdiff
xfs: pass the fsbno to xfs_perag_intent_get
authorChristoph Hellwig <hch@lst.de>
Thu, 2 Nov 2023 06:16:07 +0000 (07:16 +0100)
committerDarrick J. Wong <djwong@kernel.org>
Wed, 22 Nov 2023 23:03:36 +0000 (15:03 -0800)
All callers of xfs_perag_intent_get have a fsbno and need boilerplate
code to turn that into an agno.  Just pass the fsbno to
xfs_perag_intent_get and look up the agno there.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
include/xfs_mount.h
libxfs/defer_item.c

index ed1d08c6118a5474c45d9a47ab3d25d7ae244ca8..8d422753f0d3e99aaa718c094dbbe68569dd221e 100644 (file)
@@ -318,7 +318,8 @@ struct xfs_defer_drain { /* empty */ };
 #define xfs_defer_drain_init(dr)               ((void)0)
 #define xfs_defer_drain_free(dr)               ((void)0)
 
-#define xfs_perag_intent_get(mp, agno)         xfs_perag_get((mp), (agno))
+#define xfs_perag_intent_get(mp, agno) \
+       xfs_perag_get((mp), XFS_FSB_TO_AGNO((mp), (agno)))
 #define xfs_perag_intent_put(pag)              xfs_perag_put(pag)
 
 static inline void xfs_perag_intent_hold(struct xfs_perag *pag) {}
index c9b18e0c7f451cd080621be36850b94ee412b305..947feb95dae79a57709350a0646c35e71346d72c 100644 (file)
@@ -79,10 +79,7 @@ xfs_extent_free_get_group(
        struct xfs_mount                *mp,
        struct xfs_extent_free_item     *xefi)
 {
-       xfs_agnumber_t                  agno;
-
-       agno = XFS_FSB_TO_AGNO(mp, xefi->xefi_startblock);
-       xefi->xefi_pag = xfs_perag_intent_get(mp, agno);
+       xefi->xefi_pag = xfs_perag_intent_get(mp, xefi->xefi_startblock);
 }
 
 /* Release an active AG ref after some freeing work. */
@@ -254,10 +251,7 @@ xfs_rmap_update_get_group(
        struct xfs_mount        *mp,
        struct xfs_rmap_intent  *ri)
 {
-       xfs_agnumber_t  agno;
-
-       agno = XFS_FSB_TO_AGNO(mp, ri->ri_bmap.br_startblock);
-       ri->ri_pag = xfs_perag_intent_get(mp, agno);
+       ri->ri_pag = xfs_perag_intent_get(mp, ri->ri_bmap.br_startblock);
 }
 
 /* Release an active AG ref after finishing rmapping work. */
@@ -366,10 +360,7 @@ xfs_refcount_update_get_group(
        struct xfs_mount                *mp,
        struct xfs_refcount_intent      *ri)
 {
-       xfs_agnumber_t                  agno;
-
-       agno = XFS_FSB_TO_AGNO(mp, ri->ri_startblock);
-       ri->ri_pag = xfs_perag_intent_get(mp, agno);
+       ri->ri_pag = xfs_perag_intent_get(mp, ri->ri_startblock);
 }
 
 /* Release an active AG ref after finishing refcounting work. */
@@ -486,8 +477,6 @@ xfs_bmap_update_get_group(
        struct xfs_mount        *mp,
        struct xfs_bmap_intent  *bi)
 {
-       xfs_agnumber_t          agno;
-
        if (xfs_ifork_is_realtime(bi->bi_owner, bi->bi_whichfork)) {
                if (xfs_has_rtgroups(mp)) {
                        xfs_rgnumber_t  rgno;
@@ -501,8 +490,6 @@ xfs_bmap_update_get_group(
                return;
        }
 
-       agno = XFS_FSB_TO_AGNO(mp, bi->bi_bmap.br_startblock);
-
        /*
         * Bump the intent count on behalf of the deferred rmap and refcount
         * intent items that that we can queue when we finish this bmap work.
@@ -510,7 +497,7 @@ xfs_bmap_update_get_group(
         * intent drops the intent count, ensuring that the intent count
         * remains nonzero across the transaction roll.
         */
-       bi->bi_pag = xfs_perag_intent_get(mp, agno);
+       bi->bi_pag = xfs_perag_intent_get(mp, bi->bi_bmap.br_startblock);
 }
 
 /* Add this deferred BUI to the transaction. */