]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
xfs: remove __xfs_free_extent_later
authorDarrick J. Wong <djwong@kernel.org>
Thu, 7 Dec 2023 02:40:57 +0000 (18:40 -0800)
committerDarrick J. Wong <djwong@kernel.org>
Thu, 7 Dec 2023 02:45:18 +0000 (18:45 -0800)
xfs_free_extent_later is a trivial helper, so remove it to reduce the
amount of thinking required to understand the deferred freeing
interface.  This will make it easier to introduce automatic reaping of
speculative allocations in the next patch.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
fs/xfs/libxfs/xfs_ag.c
fs/xfs/libxfs/xfs_alloc.c
fs/xfs/libxfs/xfs_alloc.h
fs/xfs/libxfs/xfs_bmap.c
fs/xfs/libxfs/xfs_bmap_btree.c
fs/xfs/libxfs/xfs_ialloc.c
fs/xfs/libxfs/xfs_ialloc_btree.c
fs/xfs/libxfs/xfs_refcount.c
fs/xfs/libxfs/xfs_refcount_btree.c
fs/xfs/scrub/reap.c
fs/xfs/xfs_reflink.c

index f9f4d694640d043209c7de4feb06d6ede96174fb..f62ff125a50ace244ecd2038b94cb8e6cf81abeb 100644 (file)
@@ -984,7 +984,7 @@ xfs_ag_shrink_space(
                if (err2 != -ENOSPC)
                        goto resv_err;
 
-               err2 = __xfs_free_extent_later(*tpp, args.fsbno, delta, NULL,
+               err2 = xfs_free_extent_later(*tpp, args.fsbno, delta, NULL,
                                XFS_AG_RESV_NONE, true);
                if (err2)
                        goto resv_err;
index 100ab5931b3132e8b3de4daab94de0dc16f10e07..c35224ad9428a4b8a113c16ba7cfdbca070bd736 100644 (file)
@@ -2523,7 +2523,7 @@ xfs_defer_agfl_block(
  * The list is maintained sorted (by block number).
  */
 int
-__xfs_free_extent_later(
+xfs_free_extent_later(
        struct xfs_trans                *tp,
        xfs_fsblock_t                   bno,
        xfs_filblks_t                   len,
index 6bb8d295c321d2aeebfa7f8e50e51b5dfcf4352b..6b95d1d8a853768a1ca3001f378166ae1b7a3fd0 100644 (file)
@@ -231,7 +231,7 @@ xfs_buf_to_agfl_bno(
        return bp->b_addr;
 }
 
-int __xfs_free_extent_later(struct xfs_trans *tp, xfs_fsblock_t bno,
+int xfs_free_extent_later(struct xfs_trans *tp, xfs_fsblock_t bno,
                xfs_filblks_t len, const struct xfs_owner_info *oinfo,
                enum xfs_ag_resv_type type, bool skip_discard);
 
@@ -256,18 +256,6 @@ void xfs_extent_free_get_group(struct xfs_mount *mp,
 #define XFS_EFI_ATTR_FORK      (1U << 1) /* freeing attr fork block */
 #define XFS_EFI_BMBT_BLOCK     (1U << 2) /* freeing bmap btree block */
 
-static inline int
-xfs_free_extent_later(
-       struct xfs_trans                *tp,
-       xfs_fsblock_t                   bno,
-       xfs_filblks_t                   len,
-       const struct xfs_owner_info     *oinfo,
-       enum xfs_ag_resv_type           type)
-{
-       return __xfs_free_extent_later(tp, bno, len, oinfo, type, false);
-}
-
-
 extern struct kmem_cache       *xfs_extfree_item_cache;
 
 int __init xfs_extfree_intent_init_cache(void);
index be62acffad6ccdfb31748987cc507e03f08afb81..68be1dd4f0f268602c7929fac0a701fd2d95cd77 100644 (file)
@@ -575,7 +575,7 @@ xfs_bmap_btree_to_extents(
 
        xfs_rmap_ino_bmbt_owner(&oinfo, ip->i_ino, whichfork);
        error = xfs_free_extent_later(cur->bc_tp, cbno, 1, &oinfo,
-                       XFS_AG_RESV_NONE);
+                       XFS_AG_RESV_NONE, false);
        if (error)
                return error;
 
@@ -5218,7 +5218,7 @@ xfs_bmap_del_extent_real(
                if (xfs_is_reflink_inode(ip) && whichfork == XFS_DATA_FORK) {
                        xfs_refcount_decrease_extent(tp, del);
                } else {
-                       error = __xfs_free_extent_later(tp, del->br_startblock,
+                       error = xfs_free_extent_later(tp, del->br_startblock,
                                        del->br_blockcount, NULL,
                                        XFS_AG_RESV_NONE,
                                        ((bflags & XFS_BMAPI_NODISCARD) ||
index bf3f1b36fdd23b8c132101c49d92ea13ffc464b0..8360256cff1682300c47ec79d0a4119d319b6545 100644 (file)
@@ -272,7 +272,7 @@ xfs_bmbt_free_block(
 
        xfs_rmap_ino_bmbt_owner(&oinfo, ip->i_ino, cur->bc_ino.whichfork);
        error = xfs_free_extent_later(cur->bc_tp, fsbno, 1, &oinfo,
-                       XFS_AG_RESV_NONE);
+                       XFS_AG_RESV_NONE, false);
        if (error)
                return error;
 
index b83e54c7090692a0ced6ac1e00be6f7c76954359..d61d03e5b853bcc58e883a3ab8c5f551bdb3ee76 100644 (file)
@@ -1854,7 +1854,7 @@ xfs_difree_inode_chunk(
                return xfs_free_extent_later(tp,
                                XFS_AGB_TO_FSB(mp, agno, sagbno),
                                M_IGEO(mp)->ialloc_blks, &XFS_RMAP_OINFO_INODES,
-                               XFS_AG_RESV_NONE);
+                               XFS_AG_RESV_NONE, false);
        }
 
        /* holemask is only 16-bits (fits in an unsigned long) */
@@ -1900,7 +1900,8 @@ xfs_difree_inode_chunk(
                ASSERT(contigblk % mp->m_sb.sb_spino_align == 0);
                error = xfs_free_extent_later(tp,
                                XFS_AGB_TO_FSB(mp, agno, agbno), contigblk,
-                               &XFS_RMAP_OINFO_INODES, XFS_AG_RESV_NONE);
+                               &XFS_RMAP_OINFO_INODES, XFS_AG_RESV_NONE,
+                               false);
                if (error)
                        return error;
 
index 9258f01c0015eab902b12dc3271111ddeb9dec94..42a5e1f227a05fc9290ce8f5add2ab337110e1d5 100644 (file)
@@ -161,7 +161,7 @@ __xfs_inobt_free_block(
        xfs_inobt_mod_blockcount(cur, -1);
        fsbno = XFS_DADDR_TO_FSB(cur->bc_mp, xfs_buf_daddr(bp));
        return xfs_free_extent_later(cur->bc_tp, fsbno, 1,
-                       &XFS_RMAP_OINFO_INOBT, resv);
+                       &XFS_RMAP_OINFO_INOBT, resv, false);
 }
 
 STATIC int
index 646b3fa362ad02feb674262910e349b04a04f20b..3702b4a071100dd22f8ef78560426cda2eaea2e1 100644 (file)
@@ -1153,7 +1153,7 @@ xfs_refcount_adjust_extents(
                                                tmp.rc_startblock);
                                error = xfs_free_extent_later(cur->bc_tp, fsbno,
                                                  tmp.rc_blockcount, NULL,
-                                                 XFS_AG_RESV_NONE);
+                                                 XFS_AG_RESV_NONE, false);
                                if (error)
                                        goto out_error;
                        }
@@ -1215,7 +1215,7 @@ xfs_refcount_adjust_extents(
                                        ext.rc_startblock);
                        error = xfs_free_extent_later(cur->bc_tp, fsbno,
                                        ext.rc_blockcount, NULL,
-                                       XFS_AG_RESV_NONE);
+                                       XFS_AG_RESV_NONE, false);
                        if (error)
                                goto out_error;
                }
@@ -1985,7 +1985,7 @@ xfs_refcount_recover_cow_leftovers(
                /* Free the block. */
                error = xfs_free_extent_later(tp, fsb,
                                rr->rr_rrec.rc_blockcount, NULL,
-                               XFS_AG_RESV_NONE);
+                               XFS_AG_RESV_NONE, false);
                if (error)
                        goto out_trans;
 
index 5c3987d8dc242e4fa7ae2650b65dea9cf90fa513..3fa795e2488dd9852d38bc19fe38e274ba0f2da5 100644 (file)
@@ -112,7 +112,7 @@ xfs_refcountbt_free_block(
        be32_add_cpu(&agf->agf_refcount_blocks, -1);
        xfs_alloc_log_agf(cur->bc_tp, agbp, XFS_AGF_REFCOUNT_BLOCKS);
        return xfs_free_extent_later(cur->bc_tp, fsbno, 1,
-                       &XFS_RMAP_OINFO_REFC, XFS_AG_RESV_METADATA);
+                       &XFS_RMAP_OINFO_REFC, XFS_AG_RESV_METADATA, false);
 }
 
 STATIC int
index 86a62420e02c6571306483b18acf110dc5a55e61..78c9f2085db46a2689d0e144edafd65d5d583b1a 100644 (file)
@@ -410,7 +410,7 @@ xreap_agextent_iter(
         * Use deferred frees to get rid of the old btree blocks to try to
         * minimize the window in which we could crash and lose the old blocks.
         */
-       error = __xfs_free_extent_later(sc->tp, fsbno, *aglenp, rs->oinfo,
+       error = xfs_free_extent_later(sc->tp, fsbno, *aglenp, rs->oinfo,
                        rs->resv, true);
        if (error)
                return error;
index e5b62dc2846644c142b04423fbec10e57d81c34d..d5ca8bcae65b6c9d38ef487e3c370deff3bd5a7c 100644 (file)
@@ -618,7 +618,7 @@ xfs_reflink_cancel_cow_blocks(
 
                        error = xfs_free_extent_later(*tpp, del.br_startblock,
                                        del.br_blockcount, NULL,
-                                       XFS_AG_RESV_NONE);
+                                       XFS_AG_RESV_NONE, false);
                        if (error)
                                break;