summaryrefslogtreecommitdiff
path: root/fs/xfs
diff options
context:
space:
mode:
authorDarrick J. Wong <djwong@kernel.org>2024-07-02 11:23:10 -0700
committerDarrick J. Wong <djwong@kernel.org>2024-07-02 11:37:06 -0700
commit8aef79928b3ddd8c10a3235f982933addc15a977 (patch)
tree405e4a71c52a9bcad86dbe8449a7dbb7e6b19cbf /fs/xfs
parent0e9254861f980bd60a58b7c2b57ba0414c038409 (diff)
xfs: reuse xfs_refcount_update_cancel_item
Reuse xfs_refcount_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>
Diffstat (limited to 'fs/xfs')
-rw-r--r--fs/xfs/xfs_refcount_item.c25
1 files changed, 12 insertions, 13 deletions
diff --git a/fs/xfs/xfs_refcount_item.c b/fs/xfs/xfs_refcount_item.c
index cc53c733bef1..90a019ddcc1f 100644
--- a/fs/xfs/xfs_refcount_item.c
+++ b/fs/xfs/xfs_refcount_item.c
@@ -335,6 +335,17 @@ xfs_refcount_update_put_group(
xfs_perag_intent_put(ri->ri_pag);
}
+/* Cancel a deferred refcount update. */
+STATIC void
+xfs_refcount_update_cancel_item(
+ struct list_head *item)
+{
+ struct xfs_refcount_intent *ri = ci_entry(item);
+
+ xfs_refcount_update_put_group(ri);
+ kmem_cache_free(xfs_refcount_intent_cache, ri);
+}
+
/* Process a deferred refcount update. */
STATIC int
xfs_refcount_update_finish_item(
@@ -354,8 +365,7 @@ xfs_refcount_update_finish_item(
return -EAGAIN;
}
- xfs_refcount_update_put_group(ri);
- kmem_cache_free(xfs_refcount_intent_cache, ri);
+ xfs_refcount_update_cancel_item(item);
return error;
}
@@ -367,17 +377,6 @@ xfs_refcount_update_abort_intent(
xfs_cui_release(CUI_ITEM(intent));
}
-/* Cancel a deferred refcount update. */
-STATIC void
-xfs_refcount_update_cancel_item(
- struct list_head *item)
-{
- struct xfs_refcount_intent *ri = ci_entry(item);
-
- xfs_refcount_update_put_group(ri);
- kmem_cache_free(xfs_refcount_intent_cache, ri);
-}
-
/* Is this recovered CUI ok? */
static inline bool
xfs_cui_validate_phys(