]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs: pass the fsbno to xfs_perag_intent_get
authorChristoph Hellwig <hch@lst.de>
Wed, 2 Oct 2024 01:16:56 +0000 (18:16 -0700)
committerAndrey Albershteyn <aalbersh@redhat.com>
Fri, 4 Oct 2024 10:42:07 +0000 (12:42 +0200)
Source kernel commit: 62d597a197e390a89eadff60b98231e91b32ab83

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 4492a2f28b11705f44b344a3d8e8b1ef52bfb1f1..a60474a8db3f22036d377db29f9d52fa4d100c53 100644 (file)
@@ -298,7 +298,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 77a368e6f7927e17e1b1304b19ca91722a36f938..fb40a66252adff0202318c9bdd2df68045a50731 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. */
@@ -256,10 +253,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. */
@@ -369,10 +363,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. */
@@ -490,13 +481,9 @@ 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))
                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.
@@ -504,7 +491,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. */