mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-06 05:06:29 +00:00
xfs: remove __xfs_free_extent_later
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>
This commit is contained in:
parent
4dffb2cbb4
commit
4c88fef3af
@ -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;
|
||||
|
@ -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,
|
||||
|
@ -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);
|
||||
|
@ -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) ||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user