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 f9f4d69..f62ff12 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 100ab59..c35224a 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 6bb8d29..6b95d1d 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 be62acf..68be1dd 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 bf3f1b3..8360256 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 b83e54c..d61d03e 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 9258f01..42a5e1f 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 646b3fa..3702b4a 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 5c3987d..3fa795e 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 86a6242..78c9f20 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 e5b62dc..d5ca8bc 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;