xfs: reuse xfs_bmap_update_cancel_item

Reuse xfs_bmap_update_cancel_item to put the AG/RTG and free the item in
a few places that currently open code the logic.

Inspired-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
Darrick J. Wong 2024-02-22 12:44:20 -08:00
parent de47e4c9ad
commit 5d3d0a6ad2

View File

@ -343,6 +343,17 @@ xfs_bmap_update_put_group(
xfs_perag_intent_put(bi->bi_pag);
}
/* Cancel a deferred bmap update. */
STATIC void
xfs_bmap_update_cancel_item(
struct list_head *item)
{
struct xfs_bmap_intent *bi = bi_entry(item);
xfs_bmap_update_put_group(bi);
kmem_cache_free(xfs_bmap_intent_cache, bi);
}
/* Process a deferred bmap update. */
STATIC int
xfs_bmap_update_finish_item(
@ -360,8 +371,7 @@ xfs_bmap_update_finish_item(
return -EAGAIN;
}
xfs_bmap_update_put_group(bi);
kmem_cache_free(xfs_bmap_intent_cache, bi);
xfs_bmap_update_cancel_item(item);
return error;
}
@ -373,17 +383,6 @@ xfs_bmap_update_abort_intent(
xfs_bui_release(BUI_ITEM(intent));
}
/* Cancel a deferred bmap update. */
STATIC void
xfs_bmap_update_cancel_item(
struct list_head *item)
{
struct xfs_bmap_intent *bi = bi_entry(item);
xfs_bmap_update_put_group(bi);
kmem_cache_free(xfs_bmap_intent_cache, bi);
}
/* Is this recovered BUI ok? */
static inline bool
xfs_bui_validate(