summaryrefslogtreecommitdiffstats
path: root/fs/xfs/libxfs/xfs_defer.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2023-12-14 06:16:32 +0100
committerChandan Babu R <chandanbabu@kernel.org>2023-12-14 06:43:38 +0100
commitdc22af64368291a86fb6b7eb2adab21c815836b7 (patch)
treec908d2c6bdd56ef7e2be03c6c817580469e8232d /fs/xfs/libxfs/xfs_defer.c
parentxfs: store an ops pointer in struct xfs_defer_pending (diff)
downloadlinux-dc22af64368291a86fb6b7eb2adab21c815836b7.tar.xz
linux-dc22af64368291a86fb6b7eb2adab21c815836b7.zip
xfs: pass the defer ops instead of type to xfs_defer_start_recovery
xfs_defer_start_recovery is only called from xlog_recover_intent_item, and the callers of that all have the actual xfs_defer_ops_type operation vector at hand. Pass that directly instead of looking it up from the defer_op_types table. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Darrick J. Wong <djwong@kernel.org> Signed-off-by: Chandan Babu R <chandanbabu@kernel.org>
Diffstat (limited to 'fs/xfs/libxfs/xfs_defer.c')
-rw-r--r--fs/xfs/libxfs/xfs_defer.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/xfs/libxfs/xfs_defer.c b/fs/xfs/libxfs/xfs_defer.c
index e70881ae5cc5..dd964bf825eb 100644
--- a/fs/xfs/libxfs/xfs_defer.c
+++ b/fs/xfs/libxfs/xfs_defer.c
@@ -894,14 +894,14 @@ xfs_defer_add_barrier(
void
xfs_defer_start_recovery(
struct xfs_log_item *lip,
- enum xfs_defer_ops_type dfp_type,
- struct list_head *r_dfops)
+ struct list_head *r_dfops,
+ const struct xfs_defer_op_type *ops)
{
struct xfs_defer_pending *dfp;
dfp = kmem_cache_zalloc(xfs_defer_pending_cache,
GFP_NOFS | __GFP_NOFAIL);
- dfp->dfp_ops = defer_op_types[dfp_type];
+ dfp->dfp_ops = ops;
dfp->dfp_intent = lip;
INIT_LIST_HEAD(&dfp->dfp_work);
list_add_tail(&dfp->dfp_list, r_dfops);