summaryrefslogtreecommitdiffstats
path: root/fs/xfs/libxfs/xfs_defer.c
diff options
context:
space:
mode:
authorDarrick J. Wong <djwong@kernel.org>2021-10-12 14:17:01 -0700
committerDarrick J. Wong <djwong@kernel.org>2021-10-22 16:04:36 -0700
commitc201d9ca5392b20f04882848a071025b0e194c17 (patch)
tree80358804a10c603284b5a4a48f0d05ad0b04b744 /fs/xfs/libxfs/xfs_defer.c
parentf3c799c22c661e181c71a0d9914fc923023f65fb (diff)
downloadlinux-stable-c201d9ca5392b20f04882848a071025b0e194c17.tar.gz
linux-stable-c201d9ca5392b20f04882848a071025b0e194c17.tar.bz2
linux-stable-c201d9ca5392b20f04882848a071025b0e194c17.zip
xfs: rename xfs_bmap_add_free to xfs_free_extent_later
xfs_bmap_add_free isn't a block mapping function; it schedules deferred freeing operations for a later point in a compound transaction chain. While it's primarily used by bunmapi, its use has expanded beyond that. Move it to xfs_alloc.c and rename the function since it's now general freeing functionality. Bring the slab cache bits in line with the way we handle the other intent items. Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Chandan Babu R <chandan.babu@oracle.com>
Diffstat (limited to 'fs/xfs/libxfs/xfs_defer.c')
-rw-r--r--fs/xfs/libxfs/xfs_defer.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/xfs/libxfs/xfs_defer.c b/fs/xfs/libxfs/xfs_defer.c
index 1d81bf7b5447..0805ade2d300 100644
--- a/fs/xfs/libxfs/xfs_defer.c
+++ b/fs/xfs/libxfs/xfs_defer.c
@@ -21,6 +21,7 @@
#include "xfs_rmap.h"
#include "xfs_refcount.h"
#include "xfs_bmap.h"
+#include "xfs_alloc.h"
static struct kmem_cache *xfs_defer_pending_cache;
@@ -850,6 +851,9 @@ xfs_defer_init_item_caches(void)
error = xfs_bmap_intent_init_cache();
if (error)
goto err;
+ error = xfs_extfree_intent_init_cache();
+ if (error)
+ goto err;
return 0;
err:
@@ -861,6 +865,7 @@ err:
void
xfs_defer_destroy_item_caches(void)
{
+ xfs_extfree_intent_destroy_cache();
xfs_bmap_intent_destroy_cache();
xfs_refcount_intent_destroy_cache();
xfs_rmap_intent_destroy_cache();