Linux-XFS Archive mirror
 help / color / mirror / Atom feed
From: "Darrick J. Wong" <djwong@kernel.org>
To: cem@kernel.org, djwong@kernel.org
Cc: Christoph Hellwig <hch@lst.de>,
	Chandan Babu R <chandanbabu@kernel.org>,
	Bill O'Donnell <bodonnel@redhat.com>,
	linux-xfs@vger.kernel.org
Subject: [PATCH 26/67] xfs: store an ops pointer in struct xfs_defer_pending
Date: Mon, 25 Mar 2024 20:09:36 -0700	[thread overview]
Message-ID: <171142127337.2212320.6940452972722781203.stgit@frogsfrogsfrogs> (raw)
In-Reply-To: <171142126868.2212320.6212071954549567554.stgit@frogsfrogsfrogs>

From: Christoph Hellwig <hch@lst.de>

Source kernel commit: 7f2f7531e0d455f1abb9f48fbbe17c37e8742590

The dfp_type field in struct xfs_defer_pending is only used to either
look up the operations associated with the pending word or in trace
points.  Replace it with a direct pointer to the operations vector,
and store a pretty name in the vector for tracing.

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>
Reviewed-by: Bill O'Donnell <bodonnel@redhat.com>
---
 libxfs/defer_item.c |    6 ++++++
 libxfs/xfs_defer.c  |   43 +++++++++++++++++--------------------------
 libxfs/xfs_defer.h  |    5 +++--
 3 files changed, 26 insertions(+), 28 deletions(-)


diff --git a/libxfs/defer_item.c b/libxfs/defer_item.c
index b8afda0ceb58..014589f82ec8 100644
--- a/libxfs/defer_item.c
+++ b/libxfs/defer_item.c
@@ -152,6 +152,7 @@ xfs_extent_free_cancel_item(
 }
 
 const struct xfs_defer_op_type xfs_extent_free_defer_type = {
+	.name		= "extent_free",
 	.create_intent	= xfs_extent_free_create_intent,
 	.abort_intent	= xfs_extent_free_abort_intent,
 	.create_done	= xfs_extent_free_create_done,
@@ -195,6 +196,7 @@ xfs_agfl_free_finish_item(
 
 /* sub-type with special handling for AGFL deferred frees */
 const struct xfs_defer_op_type xfs_agfl_free_defer_type = {
+	.name		= "agfl_free",
 	.create_intent	= xfs_extent_free_create_intent,
 	.abort_intent	= xfs_extent_free_abort_intent,
 	.create_done	= xfs_extent_free_create_done,
@@ -306,6 +308,7 @@ xfs_rmap_update_cancel_item(
 }
 
 const struct xfs_defer_op_type xfs_rmap_update_defer_type = {
+	.name		= "rmap",
 	.create_intent	= xfs_rmap_update_create_intent,
 	.abort_intent	= xfs_rmap_update_abort_intent,
 	.create_done	= xfs_rmap_update_create_done,
@@ -424,6 +427,7 @@ xfs_refcount_update_cancel_item(
 }
 
 const struct xfs_defer_op_type xfs_refcount_update_defer_type = {
+	.name		= "refcount",
 	.create_intent	= xfs_refcount_update_create_intent,
 	.abort_intent	= xfs_refcount_update_abort_intent,
 	.create_done	= xfs_refcount_update_create_done,
@@ -546,6 +550,7 @@ xfs_bmap_update_cancel_item(
 }
 
 const struct xfs_defer_op_type xfs_bmap_update_defer_type = {
+	.name		= "bmap",
 	.create_intent	= xfs_bmap_update_create_intent,
 	.abort_intent	= xfs_bmap_update_abort_intent,
 	.create_done	= xfs_bmap_update_create_done,
@@ -641,6 +646,7 @@ xfs_attr_cancel_item(
 }
 
 const struct xfs_defer_op_type xfs_attr_defer_type = {
+	.name		= "attr",
 	.max_items	= 1,
 	.create_intent	= xfs_attr_create_intent,
 	.abort_intent	= xfs_attr_abort_intent,
diff --git a/libxfs/xfs_defer.c b/libxfs/xfs_defer.c
index 98f1cbe6a67f..bb5411b84545 100644
--- a/libxfs/xfs_defer.c
+++ b/libxfs/xfs_defer.c
@@ -245,7 +245,6 @@ xfs_defer_create_done(
 	struct xfs_trans		*tp,
 	struct xfs_defer_pending	*dfp)
 {
-	const struct xfs_defer_op_type	*ops = defer_op_types[dfp->dfp_type];
 	struct xfs_log_item		*lip;
 
 	/* If there is no log intent item, there can be no log done item. */
@@ -260,7 +259,7 @@ xfs_defer_create_done(
 	 * 2.) shuts down the filesystem
 	 */
 	tp->t_flags |= XFS_TRANS_DIRTY;
-	lip = ops->create_done(tp, dfp->dfp_intent, dfp->dfp_count);
+	lip = dfp->dfp_ops->create_done(tp, dfp->dfp_intent, dfp->dfp_count);
 	if (!lip)
 		return;
 
@@ -281,13 +280,13 @@ xfs_defer_create_intent(
 	struct xfs_defer_pending	*dfp,
 	bool				sort)
 {
-	const struct xfs_defer_op_type	*ops = defer_op_types[dfp->dfp_type];
 	struct xfs_log_item		*lip;
 
 	if (dfp->dfp_intent)
 		return 1;
 
-	lip = ops->create_intent(tp, &dfp->dfp_work, dfp->dfp_count, sort);
+	lip = dfp->dfp_ops->create_intent(tp, &dfp->dfp_work, dfp->dfp_count,
+			sort);
 	if (!lip)
 		return 0;
 	if (IS_ERR(lip))
@@ -332,12 +331,10 @@ xfs_defer_pending_abort(
 	struct xfs_mount		*mp,
 	struct xfs_defer_pending	*dfp)
 {
-	const struct xfs_defer_op_type	*ops = defer_op_types[dfp->dfp_type];
-
 	trace_xfs_defer_pending_abort(mp, dfp);
 
 	if (dfp->dfp_intent && !dfp->dfp_done) {
-		ops->abort_intent(dfp->dfp_intent);
+		dfp->dfp_ops->abort_intent(dfp->dfp_intent);
 		dfp->dfp_intent = NULL;
 	}
 }
@@ -347,7 +344,6 @@ xfs_defer_pending_cancel_work(
 	struct xfs_mount		*mp,
 	struct xfs_defer_pending	*dfp)
 {
-	const struct xfs_defer_op_type	*ops = defer_op_types[dfp->dfp_type];
 	struct list_head		*pwi;
 	struct list_head		*n;
 
@@ -358,7 +354,7 @@ xfs_defer_pending_cancel_work(
 		list_del(pwi);
 		dfp->dfp_count--;
 		trace_xfs_defer_cancel_item(mp, dfp, pwi);
-		ops->cancel_item(pwi);
+		dfp->dfp_ops->cancel_item(pwi);
 	}
 	ASSERT(dfp->dfp_count == 0);
 	kmem_cache_free(xfs_defer_pending_cache, dfp);
@@ -516,11 +512,10 @@ xfs_defer_relog_intent(
 	struct xfs_defer_pending	*dfp)
 {
 	struct xfs_log_item		*lip;
-	const struct xfs_defer_op_type	*ops = defer_op_types[dfp->dfp_type];
 
 	xfs_defer_create_done(tp, dfp);
 
-	lip = ops->relog_intent(tp, dfp->dfp_intent, dfp->dfp_done);
+	lip = dfp->dfp_ops->relog_intent(tp, dfp->dfp_intent, dfp->dfp_done);
 	if (lip) {
 		xfs_trans_add_item(tp, lip);
 		set_bit(XFS_LI_DIRTY, &lip->li_flags);
@@ -587,7 +582,7 @@ xfs_defer_finish_one(
 	struct xfs_trans		*tp,
 	struct xfs_defer_pending	*dfp)
 {
-	const struct xfs_defer_op_type	*ops = defer_op_types[dfp->dfp_type];
+	const struct xfs_defer_op_type	*ops = dfp->dfp_ops;
 	struct xfs_btree_cur		*state = NULL;
 	struct list_head		*li, *n;
 	int				error;
@@ -784,7 +779,6 @@ xfs_defer_cancel(
 static inline struct xfs_defer_pending *
 xfs_defer_find_last(
 	struct xfs_trans		*tp,
-	enum xfs_defer_ops_type		type,
 	const struct xfs_defer_op_type	*ops)
 {
 	struct xfs_defer_pending	*dfp = NULL;
@@ -797,7 +791,7 @@ xfs_defer_find_last(
 			dfp_list);
 
 	/* Wrong type? */
-	if (dfp->dfp_type != type)
+	if (dfp->dfp_ops != ops)
 		return NULL;
 	return dfp;
 }
@@ -830,13 +824,13 @@ xfs_defer_can_append(
 static inline struct xfs_defer_pending *
 xfs_defer_alloc(
 	struct xfs_trans		*tp,
-	enum xfs_defer_ops_type		type)
+	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_type = type;
+	dfp->dfp_ops = ops;
 	INIT_LIST_HEAD(&dfp->dfp_work);
 	list_add_tail(&dfp->dfp_list, &tp->t_dfops);
 
@@ -856,9 +850,9 @@ xfs_defer_add(
 	ASSERT(tp->t_flags & XFS_TRANS_PERM_LOG_RES);
 	BUILD_BUG_ON(ARRAY_SIZE(defer_op_types) != XFS_DEFER_OPS_TYPE_MAX);
 
-	dfp = xfs_defer_find_last(tp, type, ops);
+	dfp = xfs_defer_find_last(tp, ops);
 	if (!dfp || !xfs_defer_can_append(dfp, ops))
-		dfp = xfs_defer_alloc(tp, type);
+		dfp = xfs_defer_alloc(tp, ops);
 
 	xfs_defer_add_item(dfp, li);
 	trace_xfs_defer_add_item(tp->t_mountp, dfp, li);
@@ -874,17 +868,15 @@ xfs_defer_add_barrier(
 	struct xfs_trans		*tp)
 {
 	struct xfs_defer_pending	*dfp;
-	const enum xfs_defer_ops_type	type = XFS_DEFER_OPS_TYPE_BARRIER;
-	const struct xfs_defer_op_type	*ops = defer_op_types[type];
 
 	ASSERT(tp->t_flags & XFS_TRANS_PERM_LOG_RES);
 
 	/* If the last defer op added was a barrier, we're done. */
-	dfp = xfs_defer_find_last(tp, type, ops);
+	dfp = xfs_defer_find_last(tp, &xfs_barrier_defer_type);
 	if (dfp)
 		return;
 
-	xfs_defer_alloc(tp, type);
+	xfs_defer_alloc(tp, &xfs_barrier_defer_type);
 
 	trace_xfs_defer_add_item(tp->t_mountp, dfp, NULL);
 }
@@ -903,7 +895,7 @@ xfs_defer_start_recovery(
 
 	dfp = kmem_cache_zalloc(xfs_defer_pending_cache,
 			GFP_NOFS | __GFP_NOFAIL);
-	dfp->dfp_type = dfp_type;
+	dfp->dfp_ops = defer_op_types[dfp_type];
 	dfp->dfp_intent = lip;
 	INIT_LIST_HEAD(&dfp->dfp_work);
 	list_add_tail(&dfp->dfp_list, r_dfops);
@@ -929,13 +921,12 @@ xfs_defer_finish_recovery(
 	struct xfs_defer_pending	*dfp,
 	struct list_head		*capture_list)
 {
-	const struct xfs_defer_op_type	*ops = defer_op_types[dfp->dfp_type];
 	int				error;
 
-	error = ops->recover_work(dfp, capture_list);
+	error = dfp->dfp_ops->recover_work(dfp, capture_list);
 	if (error)
 		trace_xlog_intent_recovery_failed(mp, error,
-				ops->recover_work);
+				dfp->dfp_ops->recover_work);
 	return error;
 }
 
diff --git a/libxfs/xfs_defer.h b/libxfs/xfs_defer.h
index 5b1990ef3e5d..957a06278e88 100644
--- a/libxfs/xfs_defer.h
+++ b/libxfs/xfs_defer.h
@@ -34,9 +34,9 @@ struct xfs_defer_pending {
 	struct list_head		dfp_work;	/* work items */
 	struct xfs_log_item		*dfp_intent;	/* log intent item */
 	struct xfs_log_item		*dfp_done;	/* log done item */
+	const struct xfs_defer_op_type	*dfp_ops;
 	unsigned int			dfp_count;	/* # extent items */
 	unsigned int			dfp_flags;
-	enum xfs_defer_ops_type		dfp_type;
 };
 
 /*
@@ -61,6 +61,8 @@ void xfs_defer_move(struct xfs_trans *dtp, struct xfs_trans *stp);
 
 /* Description of a deferred type. */
 struct xfs_defer_op_type {
+	const char		*name;
+	unsigned int		max_items;
 	struct xfs_log_item *(*create_intent)(struct xfs_trans *tp,
 			struct list_head *items, unsigned int count, bool sort);
 	void (*abort_intent)(struct xfs_log_item *intent);
@@ -76,7 +78,6 @@ struct xfs_defer_op_type {
 	struct xfs_log_item *(*relog_intent)(struct xfs_trans *tp,
 			struct xfs_log_item *intent,
 			struct xfs_log_item *done_item);
-	unsigned int		max_items;
 };
 
 extern const struct xfs_defer_op_type xfs_bmap_update_defer_type;


  parent reply	other threads:[~2024-03-26  3:09 UTC|newest]

Thread overview: 310+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-26  2:45 [PATCHBOMB v2] xfsprogs: everything headed towards 6.9 Darrick J. Wong
2024-03-26  2:54 ` Darrick J. Wong
2024-03-26  2:54 ` [PATCHSET 01/18] xfsprogs: convert utilities to use new rt helpers Darrick J. Wong
2024-03-26  2:59   ` [PATCH 01/13] libxfs: fix incorrect porting to 6.7 Darrick J. Wong
2024-03-26  2:59   ` [PATCH 02/13] mkfs: fix log sunit rounding when external logs are in use Darrick J. Wong
2024-03-26  3:00   ` [PATCH 03/13] xfs_repair: fix confusing rt space units in the duplicate detection code Darrick J. Wong
2024-03-26  3:00   ` [PATCH 04/13] libxfs: create a helper to compute leftovers of realtime extents Darrick J. Wong
2024-03-26  3:00   ` [PATCH 05/13] libxfs: use helpers to convert rt block numbers to rt extent numbers Darrick J. Wong
2024-03-26  3:00   ` [PATCH 06/13] xfs_repair: convert utility to use new rt extent helpers and types Darrick J. Wong
2024-03-26  3:01   ` [PATCH 07/13] mkfs: " Darrick J. Wong
2024-03-26  3:01   ` [PATCH 08/13] xfs_{db,repair}: convert open-coded xfs_rtword_t pointer accesses to helper Darrick J. Wong
2024-03-26  3:01   ` [PATCH 09/13] xfs_repair: convert helpers for rtbitmap block/wordcount computations Darrick J. Wong
2024-03-26  3:02   ` [PATCH 10/13] xfs_{db,repair}: use accessor functions for bitmap words Darrick J. Wong
2024-03-26  3:02   ` [PATCH 11/13] xfs_{db,repair}: use helpers for rtsummary block/wordcount computations Darrick J. Wong
2024-03-26  3:02   ` [PATCH 12/13] xfs_{db,repair}: use accessor functions for summary info words Darrick J. Wong
2024-03-26  3:02   ` [PATCH 13/13] xfs_{db,repair}: use m_blockwsize instead of sb_blocksize for rt blocks Darrick J. Wong
2024-03-26  2:55 ` [PATCHSET 02/18] libxfs: sync with 6.8 Darrick J. Wong
2024-03-26  3:03   ` [PATCH 01/67] xfs: use xfs_defer_pending objects to recover intent items Darrick J. Wong
2024-03-26  3:03   ` [PATCH 02/67] xfs: recreate work items when recovering " Darrick J. Wong
2024-03-26  3:03   ` [PATCH 03/67] xfs: use xfs_defer_finish_one to finish recovered work items Darrick J. Wong
2024-03-26  3:03   ` [PATCH 04/67] xfs: move ->iop_recover to xfs_defer_op_type Darrick J. Wong
2024-03-26  3:04   ` [PATCH 05/67] xfs: hoist intent done flag setting to ->finish_item callsite Darrick J. Wong
2024-03-26  3:04   ` [PATCH 06/67] xfs: hoist ->create_intent boilerplate to its callsite Darrick J. Wong
2024-03-26  3:04   ` [PATCH 07/67] xfs: use xfs_defer_create_done for the relogging operation Darrick J. Wong
2024-03-26  3:04   ` [PATCH 08/67] xfs: clean out XFS_LI_DIRTY setting boilerplate from ->iop_relog Darrick J. Wong
2024-03-26  3:05   ` [PATCH 09/67] xfs: hoist xfs_trans_add_item calls to defer ops functions Darrick J. Wong
2024-03-26  3:05   ` [PATCH 10/67] xfs: move ->iop_relog to struct xfs_defer_op_type Darrick J. Wong
2024-03-26  3:05   ` [PATCH 11/67] xfs: make rextslog computation consistent with mkfs Darrick J. Wong
2024-03-26  3:05   ` [PATCH 12/67] xfs: fix 32-bit truncation in xfs_compute_rextslog Darrick J. Wong
2024-03-26  3:06   ` [PATCH 13/67] xfs: don't allow overly small or large realtime volumes Darrick J. Wong
2024-03-26  3:06   ` [PATCH 14/67] xfs: elide ->create_done calls for unlogged deferred work Darrick J. Wong
2024-03-26  3:06   ` [PATCH 15/67] xfs: don't append work items to logged xfs_defer_pending objects Darrick J. Wong
2024-03-26  3:07   ` [PATCH 16/67] xfs: allow pausing of pending deferred work items Darrick J. Wong
2024-03-26  3:07   ` [PATCH 17/67] xfs: remove __xfs_free_extent_later Darrick J. Wong
2024-03-26  3:07   ` [PATCH 18/67] xfs: automatic freeing of freshly allocated unwritten space Darrick J. Wong
2024-03-26  3:07   ` [PATCH 19/67] xfs: remove unused fields from struct xbtree_ifakeroot Darrick J. Wong
2024-03-26  3:08   ` [PATCH 20/67] xfs: force small EFIs for reaping btree extents Darrick J. Wong
2024-03-26  3:08   ` [PATCH 21/67] xfs: ensure logflagsp is initialized in xfs_bmap_del_extent_real Darrick J. Wong
2024-03-26  3:08   ` [PATCH 22/67] xfs: update dir3 leaf block metadata after swap Darrick J. Wong
2024-03-26  3:08   ` [PATCH 23/67] xfs: extract xfs_da_buf_copy() helper function Darrick J. Wong
2024-03-26  3:09   ` [PATCH 24/67] xfs: move xfs_ondisk.h to libxfs/ Darrick J. Wong
2024-03-26  3:09   ` [PATCH 25/67] xfs: consolidate the xfs_attr_defer_* helpers Darrick J. Wong
2024-03-26  3:09   ` Darrick J. Wong [this message]
2024-03-26  3:09   ` [PATCH 27/67] xfs: pass the defer ops instead of type to xfs_defer_start_recovery Darrick J. Wong
2024-03-26  3:10   ` [PATCH 28/67] xfs: pass the defer ops directly to xfs_defer_add Darrick J. Wong
2024-03-26  3:10   ` [PATCH 29/67] xfs: force all buffers to be written during btree bulk load Darrick J. Wong
2024-03-26  3:10   ` [PATCH 30/67] xfs: set XBF_DONE on newly formatted btree block that are ready for writing Darrick J. Wong
2024-03-26  3:10   ` [PATCH 31/67] xfs: read leaf blocks when computing keys for bulkloading into node blocks Darrick J. Wong
2024-03-26  3:11   ` [PATCH 32/67] xfs: move btree bulkload record initialization to ->get_record implementations Darrick J. Wong
2024-03-26  3:11   ` [PATCH 33/67] xfs: constrain dirty buffers while formatting a staged btree Darrick J. Wong
2024-03-26  3:11   ` [PATCH 34/67] xfs: repair free space btrees Darrick J. Wong
2024-03-26  3:11   ` [PATCH 35/67] xfs: repair inode btrees Darrick J. Wong
2024-03-26  3:12   ` [PATCH 36/67] xfs: repair refcount btrees Darrick J. Wong
2024-03-26  3:12   ` [PATCH 37/67] xfs: dont cast to char * for XFS_DFORK_*PTR macros Darrick J. Wong
2024-03-26  3:12   ` [PATCH 38/67] xfs: set inode sick state flags when we zap either ondisk fork Darrick J. Wong
2024-03-26  3:13   ` [PATCH 39/67] xfs: zap broken inode forks Darrick J. Wong
2024-03-26  3:13   ` [PATCH 40/67] xfs: repair inode fork block mapping data structures Darrick J. Wong
2024-03-26  3:13   ` [PATCH 41/67] xfs: create a ranged query function for refcount btrees Darrick J. Wong
2024-03-26  3:13   ` [PATCH 42/67] xfs: create a new inode fork block unmap helper Darrick J. Wong
2024-03-26  3:14   ` [PATCH 43/67] xfs: improve dquot iteration for scrub Darrick J. Wong
2024-03-26  3:14   ` [PATCH 44/67] xfs: add lock protection when remove perag from radix tree Darrick J. Wong
2024-03-26  3:14   ` [PATCH 45/67] xfs: fix perag leak when growfs fails Darrick J. Wong
2024-03-26  3:14   ` [PATCH 46/67] xfs: remove the xfs_alloc_arg argument to xfs_bmap_btalloc_accounting Darrick J. Wong
2024-03-26  3:15   ` [PATCH 47/67] xfs: also use xfs_bmap_btalloc_accounting for RT allocations Darrick J. Wong
2024-03-26  3:15   ` [PATCH 48/67] xfs: return -ENOSPC from xfs_rtallocate_* Darrick J. Wong
2024-03-26  3:15   ` [PATCH 49/67] xfs: indicate if xfs_bmap_adjacent changed ap->blkno Darrick J. Wong
2024-03-26  3:15   ` [PATCH 50/67] xfs: move xfs_rtget_summary to xfs_rtbitmap.c Darrick J. Wong
2024-03-26  3:16   ` [PATCH 51/67] xfs: split xfs_rtmodify_summary_int Darrick J. Wong
2024-03-26  3:16   ` [PATCH 52/67] xfs: remove rt-wrappers from xfs_format.h Darrick J. Wong
2024-03-26  3:16   ` [PATCH 53/67] xfs: remove XFS_RTMIN/XFS_RTMAX Darrick J. Wong
2024-03-26  3:16   ` [PATCH 54/67] xfs: make if_data a void pointer Darrick J. Wong
2024-03-26  3:17   ` [PATCH 55/67] xfs: return if_data from xfs_idata_realloc Darrick J. Wong
2024-03-26  3:17   ` [PATCH 56/67] xfs: move the xfs_attr_sf_lookup tracepoint Darrick J. Wong
2024-03-26  3:17   ` [PATCH 57/67] xfs: simplify xfs_attr_sf_findname Darrick J. Wong
2024-03-26  3:17   ` [PATCH 58/67] xfs: remove xfs_attr_shortform_lookup Darrick J. Wong
2024-03-26  3:18   ` [PATCH 59/67] xfs: use xfs_attr_sf_findname in xfs_attr_shortform_getvalue Darrick J. Wong
2024-03-26  3:18   ` [PATCH 60/67] xfs: remove struct xfs_attr_shortform Darrick J. Wong
2024-03-26  3:18   ` [PATCH 61/67] xfs: remove xfs_attr_sf_hdr_t Darrick J. Wong
2024-03-26  3:19   ` [PATCH 62/67] xfs: turn the XFS_DA_OP_REPLACE checks in xfs_attr_shortform_addname into asserts Darrick J. Wong
2024-03-26  3:19   ` [PATCH 63/67] xfs: fix a use after free in xfs_defer_finish_recovery Darrick J. Wong
2024-03-26  3:19   ` [PATCH 64/67] xfs: use the op name in trace_xlog_intent_recovery_failed Darrick J. Wong
2024-03-26  3:19   ` [PATCH 65/67] xfs: fix backwards logic in xfs_bmap_alloc_account Darrick J. Wong
2024-03-26  3:20   ` [PATCH 66/67] xfs: reset XFS_ATTR_INCOMPLETE filter on node removal Darrick J. Wong
2024-03-26  3:20   ` [PATCH 67/67] xfs: remove conditional building of rt geometry validator functions Darrick J. Wong
2024-03-26  2:55 ` [PATCHSET 03/18] xfs_repair: faster btree bulkloading Darrick J. Wong
2024-03-26  3:20   ` [PATCH 1/2] xfs_repair: adjust btree bulkloading slack computations to match online repair Darrick J. Wong
2024-03-26  3:20   ` [PATCH 2/2] xfs_repair: bulk load records into new btree blocks Darrick J. Wong
2024-03-26  2:55 ` [PATCHSET 04/18] xfsprogs: bug fixes for 6.8 Darrick J. Wong
2024-03-26  3:21   ` [PATCH 1/5] xfs_repair: double-check with shortform attr verifiers Darrick J. Wong
2024-03-26  3:21   ` [PATCH 2/5] xfs_db: fix alignment checks in getbitval Darrick J. Wong
2024-03-26  5:14     ` Christoph Hellwig
2024-03-26 16:28       ` Darrick J. Wong
2024-03-26 16:36         ` Christoph Hellwig
2024-03-26 17:31           ` Darrick J. Wong
2024-03-26  3:21   ` [PATCH 3/5] xfs_scrub: fix threadcount estimates for phase 6 Darrick J. Wong
2024-03-26  5:15     ` Christoph Hellwig
2024-03-26 16:30       ` Darrick J. Wong
2024-03-26 16:36         ` Christoph Hellwig
2024-03-26  3:21   ` [PATCH 4/5] xfs_scrub: don't fail while reporting media scan errors Darrick J. Wong
2024-03-26  5:15     ` Christoph Hellwig
2024-03-26  3:22   ` [PATCH 5/5] xfs_io: add linux madvise advice codes Darrick J. Wong
2024-03-26  5:15     ` Christoph Hellwig
2024-03-26  2:56 ` [PATCHSET V2 05/18] xfsprogs: fix log sector size detection Darrick J. Wong
2024-03-26  3:00   ` Darrick J. Wong
2024-03-26  5:16     ` Christoph Hellwig
2024-03-26  3:22   ` [PATCH 1/5] libxfs: remove the unused fs_topology_t typedef Darrick J. Wong
2024-03-26  3:22   ` [PATCH 2/5] libxfs: refactor the fs_topology structure Darrick J. Wong
2024-03-26  3:22   ` [PATCH 3/5] libxfs: remove the S_ISREG check from blkid_get_topology Darrick J. Wong
2024-03-26  3:23   ` [PATCH 4/5] libxfs: also query log device topology in get_topology Darrick J. Wong
2024-03-26  3:23   ` [PATCH 5/5] mkfs: use a sensible log sector size default Darrick J. Wong
2024-03-26  2:56 ` [PATCHSET 06/18] mkfs: scale shards on ssds Darrick J. Wong
2024-03-26  3:23   ` [PATCH 1/2] mkfs: allow sizing allocation groups for concurrency Darrick J. Wong
2024-03-26  3:23   ` [PATCH 2/2] mkfs: allow sizing internal logs " Darrick J. Wong
2024-03-26  2:56 ` [PATCHSET v29.4 07/18] xfs_scrub: scan metadata files in parallel Darrick J. Wong
2024-03-26  3:24   ` [PATCH 1/3] libfrog: rename XFROG_SCRUB_TYPE_* to XFROG_SCRUB_GROUP_* Darrick J. Wong
2024-03-26  3:24   ` [PATCH 2/3] libfrog: promote XFROG_SCRUB_DESCR_SUMMARY to a scrub type Darrick J. Wong
2024-03-26  3:24   ` [PATCH 3/3] xfs_scrub: scan whole-fs metadata files in parallel Darrick J. Wong
2024-03-26  2:56 ` [PATCHSET v29.4 08/18] xfs_repair: rebuild inode fork mappings Darrick J. Wong
2024-03-26  3:25   ` [PATCH 1/3] xfs_repair: push inode buf and dinode pointers all the way to inode fork processing Darrick J. Wong
2024-03-26  3:25   ` [PATCH 2/3] xfs_repair: sync bulkload data structures with kernel newbt code Darrick J. Wong
2024-03-26  3:25   ` [PATCH 3/3] xfs_repair: rebuild block mappings from rmapbt data Darrick J. Wong
2024-03-26  2:57 ` [PATCHSET 09/18] xfs_repair: support more than 4 billion records Darrick J. Wong
2024-03-26  3:25   ` [PATCH 1/8] xfs_db: add a bmbt inflation command Darrick J. Wong
2024-03-26  3:26   ` [PATCH 2/8] xfs_repair: slab and bag structs need to track more than 2^32 items Darrick J. Wong
2024-03-26  3:26   ` [PATCH 3/8] xfs_repair: support more than 2^32 rmapbt records per AG Darrick J. Wong
2024-03-26  3:26   ` [PATCH 4/8] xfs_repair: support more than 2^32 owners per physical block Darrick J. Wong
2024-03-26  3:26   ` [PATCH 5/8] xfs_repair: clean up lock resources Darrick J. Wong
2024-03-26  3:27   ` [PATCH 6/8] xfs_repair: constrain attr fork extent count Darrick J. Wong
2024-03-26  3:27   ` [PATCH 7/8] xfs_repair: don't create block maps for data files Darrick J. Wong
2024-03-26  3:27   ` [PATCH 8/8] xfs_repair: support more than INT_MAX block maps Darrick J. Wong
2024-03-26  2:57 ` [PATCHSET v29.4 10/18] libxfs: prepare to sync with 6.9 Darrick J. Wong
2024-03-26  3:27   ` [PATCH 1/3] libxfs: actually set m_fsname Darrick J. Wong
2024-03-26  3:28   ` [PATCH 2/3] libxfs: clean up xfs_da_unmount usage Darrick J. Wong
2024-03-26  3:28   ` [PATCH 3/3] libfrog: create a new scrub group for things requiring full inode scans Darrick J. Wong
2024-03-26  2:57 ` [PATCHSET 11/18] libxfs: sync with 6.9 Darrick J. Wong
2024-03-26  3:28   ` [PATCH 001/110] xfs: convert kmem_zalloc() to kzalloc() Darrick J. Wong
2024-03-26  3:28   ` [PATCH 002/110] xfs: convert kmem_alloc() to kmalloc() Darrick J. Wong
2024-03-26  3:29   ` [PATCH 003/110] xfs: convert remaining kmem_free() to kfree() Darrick J. Wong
2024-03-26  3:29   ` [PATCH 004/110] xfs: use __GFP_NOLOCKDEP instead of GFP_NOFS Darrick J. Wong
2024-03-26  3:29   ` [PATCH 005/110] xfs: use GFP_KERNEL in pure transaction contexts Darrick J. Wong
2024-03-26  3:29   ` [PATCH 006/110] xfs: clean up remaining GFP_NOFS users Darrick J. Wong
2024-03-26  3:30   ` [PATCH 007/110] xfs: use xfs_defer_alloc a bit more Darrick J. Wong
2024-03-26  3:30   ` [PATCH 008/110] xfs: Replace xfs_isilocked with xfs_assert_ilocked Darrick J. Wong
2024-03-26  3:30   ` [PATCH 009/110] xfs: create a static name for the dot entry too Darrick J. Wong
2024-03-26  3:31   ` [PATCH 010/110] xfs: create a predicate to determine if two xfs_names are the same Darrick J. Wong
2024-03-26  3:31   ` [PATCH 011/110] xfs: create a macro for decoding ftypes in tracepoints Darrick J. Wong
2024-03-26  3:31   ` [PATCH 012/110] xfs: report the health of quota counts Darrick J. Wong
2024-03-26  3:31   ` [PATCH 013/110] xfs: implement live quotacheck inode scan Darrick J. Wong
2024-03-26  3:32   ` [PATCH 014/110] xfs: report health of inode link counts Darrick J. Wong
2024-03-26  3:32   ` [PATCH 015/110] xfs: teach scrub to check file nlinks Darrick J. Wong
2024-03-26  3:32   ` [PATCH 016/110] xfs: separate the marking of sick and checked metadata Darrick J. Wong
2024-03-26  3:32   ` [PATCH 017/110] xfs: report fs corruption errors to the health tracking system Darrick J. Wong
2024-03-26  3:33   ` [PATCH 018/110] xfs: report ag header " Darrick J. Wong
2024-03-26  3:33   ` [PATCH 019/110] xfs: report block map " Darrick J. Wong
2024-03-26  3:33   ` [PATCH 020/110] xfs: report btree block corruption errors to the health system Darrick J. Wong
2024-03-26  3:33   ` [PATCH 021/110] xfs: report dir/attr " Darrick J. Wong
2024-03-26  3:34   ` [PATCH 022/110] xfs: report inode " Darrick J. Wong
2024-03-26  3:34   ` [PATCH 023/110] xfs: report realtime metadata " Darrick J. Wong
2024-03-26  3:34   ` [PATCH 024/110] xfs: report XFS_IS_CORRUPT " Darrick J. Wong
2024-03-26  3:34   ` [PATCH 025/110] xfs: add secondary and indirect classes to the health tracking system Darrick J. Wong
2024-03-26  3:35   ` [PATCH 026/110] xfs: remember sick inodes that get inactivated Darrick J. Wong
2024-03-26  3:35   ` [PATCH 027/110] xfs: update health status if we get a clean bill of health Darrick J. Wong
2024-03-26  3:35   ` [PATCH 028/110] xfs: consolidate btree block freeing tracepoints Darrick J. Wong
2024-03-26  3:35   ` [PATCH 029/110] xfs: consolidate btree block allocation tracepoints Darrick J. Wong
2024-03-26  3:36   ` [PATCH 030/110] xfs: set the btree cursor bc_ops in xfs_btree_alloc_cursor Darrick J. Wong
2024-03-26  3:36   ` [PATCH 031/110] xfs: drop XFS_BTREE_CRC_BLOCKS Darrick J. Wong
2024-03-26  3:36   ` [PATCH 032/110] xfs: encode the btree geometry flags in the btree ops structure Darrick J. Wong
2024-03-26  3:37   ` [PATCH 033/110] xfs: remove bc_ino.flags Darrick J. Wong
2024-03-26  3:37   ` [PATCH 034/110] xfs: consolidate the xfs_alloc_lookup_* helpers Darrick J. Wong
2024-03-26  3:37   ` [PATCH 035/110] xfs: turn the allocbt cursor active field into a btree flag Darrick J. Wong
2024-03-26  3:37   ` [PATCH 036/110] xfs: extern some btree ops structures Darrick J. Wong
2024-03-26  3:38   ` [PATCH 037/110] xfs: initialize btree blocks using btree_ops structure Darrick J. Wong
2024-03-26  3:38   ` [PATCH 038/110] xfs: rename btree block/buffer init functions Darrick J. Wong
2024-03-26  3:38   ` [PATCH 039/110] xfs: btree convert xfs_btree_init_block to xfs_btree_init_buf calls Darrick J. Wong
2024-03-26  3:38   ` [PATCH 040/110] xfs: remove the unnecessary daddr paramter to _init_block Darrick J. Wong
2024-03-26  3:39   ` [PATCH 041/110] xfs: set btree block buffer ops in _init_buf Darrick J. Wong
2024-03-26  3:39   ` [PATCH 042/110] xfs: move lru refs to the btree ops structure Darrick J. Wong
2024-03-26  3:39   ` [PATCH 043/110] xfs: move the btree stats offset into struct btree_ops Darrick J. Wong
2024-03-26  3:39   ` [PATCH 044/110] xfs: factor out a xfs_btree_owner helper Darrick J. Wong
2024-03-26  3:40   ` [PATCH 045/110] xfs: factor out a btree block owner check Darrick J. Wong
2024-03-26  3:40   ` [PATCH 046/110] xfs: store the btree pointer length in struct xfs_btree_ops Darrick J. Wong
2024-03-26  3:40   ` [PATCH 047/110] xfs: split out a btree type from the btree ops geometry flags Darrick J. Wong
2024-03-26  3:40   ` [PATCH 048/110] xfs: split the per-btree union in struct xfs_btree_cur Darrick J. Wong
2024-03-26  3:41   ` [PATCH 049/110] xfs: create predicate to determine if cursor is at inode root level Darrick J. Wong
2024-03-26  3:41   ` [PATCH 050/110] xfs: move comment about two 2 keys per pointer in the rmap btree Darrick J. Wong
2024-03-26  3:41   ` [PATCH 051/110] xfs: add a xfs_btree_init_ptr_from_cur Darrick J. Wong
2024-03-26  3:41   ` [PATCH 052/110] xfs: don't override bc_ops for staging btrees Darrick J. Wong
2024-03-26  3:42   ` [PATCH 053/110] xfs: fold xfs_allocbt_init_common into xfs_allocbt_init_cursor Darrick J. Wong
2024-03-26  3:42   ` [PATCH 054/110] xfs: remove xfs_allocbt_stage_cursor Darrick J. Wong
2024-03-26  3:42   ` [PATCH 055/110] xfs: fold xfs_inobt_init_common into xfs_inobt_init_cursor Darrick J. Wong
2024-03-26  3:43   ` [PATCH 056/110] xfs: remove xfs_inobt_stage_cursor Darrick J. Wong
2024-03-26  3:43   ` [PATCH 057/110] xfs: fold xfs_refcountbt_init_common into xfs_refcountbt_init_cursor Darrick J. Wong
2024-03-26  3:43   ` [PATCH 058/110] xfs: remove xfs_refcountbt_stage_cursor Darrick J. Wong
2024-03-26  3:43   ` [PATCH 059/110] xfs: fold xfs_rmapbt_init_common into xfs_rmapbt_init_cursor Darrick J. Wong
2024-03-26  3:44   ` [PATCH 060/110] xfs: remove xfs_rmapbt_stage_cursor Darrick J. Wong
2024-03-26  3:44   ` [PATCH 061/110] xfs: make full use of xfs_btree_stage_ifakeroot in xfs_bmbt_stage_cursor Darrick J. Wong
2024-03-26  3:44   ` [PATCH 062/110] xfs: make staging file forks explicit Darrick J. Wong
2024-03-26  3:44   ` [PATCH 063/110] xfs: fold xfs_bmbt_init_common into xfs_bmbt_init_cursor Darrick J. Wong
2024-03-26  3:45   ` [PATCH 064/110] xfs: remove xfs_bmbt_stage_cursor Darrick J. Wong
2024-03-26  3:45   ` [PATCH 065/110] xfs: split the agf_roots and agf_levels arrays Darrick J. Wong
2024-03-26  3:45   ` [PATCH 066/110] xfs: add a name field to struct xfs_btree_ops Darrick J. Wong
2024-03-26  3:45   ` [PATCH 067/110] xfs: add a sick_mask " Darrick J. Wong
2024-03-26  3:46   ` [PATCH 068/110] xfs: split xfs_allocbt_init_cursor Darrick J. Wong
2024-03-26  3:46   ` [PATCH 069/110] xfs: remove xfs_inobt_cur Darrick J. Wong
2024-03-26  3:46   ` [PATCH 070/110] xfs: remove the btnum argument to xfs_inobt_count_blocks Darrick J. Wong
2024-03-26  3:46   ` [PATCH 071/110] xfs: split xfs_inobt_insert_sprec Darrick J. Wong
2024-03-26  3:47   ` [PATCH 072/110] xfs: split xfs_inobt_init_cursor Darrick J. Wong
2024-03-26  3:47   ` [PATCH 073/110] xfs: pass a 'bool is_finobt' to xfs_inobt_insert Darrick J. Wong
2024-03-26  3:47   ` [PATCH 074/110] xfs: remove xfs_btnum_t Darrick J. Wong
2024-03-26  3:47   ` [PATCH 075/110] xfs: simplify xfs_btree_check_sblock_siblings Darrick J. Wong
2024-03-26  3:48   ` [PATCH 076/110] xfs: simplify xfs_btree_check_lblock_siblings Darrick J. Wong
2024-03-26  3:48   ` [PATCH 077/110] xfs: open code xfs_btree_check_lptr in xfs_bmap_btree_to_extents Darrick J. Wong
2024-03-26  3:48   ` [PATCH 078/110] xfs: consolidate btree ptr checking Darrick J. Wong
2024-03-26  3:49   ` [PATCH 079/110] xfs: misc cleanups for __xfs_btree_check_sblock Darrick J. Wong
2024-03-26  3:49   ` [PATCH 080/110] xfs: remove the crc variable in __xfs_btree_check_lblock Darrick J. Wong
2024-03-26  3:49   ` [PATCH 081/110] xfs: tighten up validation of root block in inode forks Darrick J. Wong
2024-03-26  3:49   ` [PATCH 082/110] xfs: consolidate btree block verification Darrick J. Wong
2024-03-26  3:50   ` [PATCH 083/110] xfs: rename btree helpers that depends on the block number representation Darrick J. Wong
2024-03-26  3:50   ` [PATCH 084/110] xfs: factor out a __xfs_btree_check_lblock_hdr helper Darrick J. Wong
2024-03-26  3:50   ` [PATCH 085/110] xfs: remove xfs_btree_reada_bufl Darrick J. Wong
2024-03-26  3:50   ` [PATCH 086/110] xfs: remove xfs_btree_reada_bufs Darrick J. Wong
2024-03-26  3:51   ` [PATCH 087/110] xfs: move and rename xfs_btree_read_bufl Darrick J. Wong
2024-03-26  3:51   ` [PATCH 088/110] libxfs: teach buftargs to maintain their own buffer hashtable Darrick J. Wong
2024-03-26  3:51   ` [PATCH 089/110] libxfs: add xfile support Darrick J. Wong
2024-03-26  5:29     ` Christoph Hellwig
2024-03-26 16:47       ` Darrick J. Wong
2024-03-26 16:49         ` Christoph Hellwig
2024-03-26 16:51           ` Darrick J. Wong
2024-03-26 17:06             ` Christoph Hellwig
2024-03-26  5:37     ` Christoph Hellwig
2024-03-26 16:50       ` Darrick J. Wong
2024-03-26  3:51   ` [PATCH 090/110] libxfs: partition memfd files to avoid using too many fds Darrick J. Wong
2024-03-26  3:52   ` [PATCH 091/110] xfs: teach buftargs to maintain their own buffer hashtable Darrick J. Wong
2024-03-26  3:52   ` [PATCH 092/110] libxfs: support in-memory buffer cache targets Darrick J. Wong
2024-03-26  3:52   ` [PATCH 093/110] xfs: add a xfs_btree_ptrs_equal helper Darrick J. Wong
2024-03-26  3:52   ` [PATCH 094/110] xfs: support in-memory btrees Darrick J. Wong
2024-03-26  5:32     ` Christoph Hellwig
2024-03-26 17:02       ` Darrick J. Wong
2024-03-26 17:06         ` Christoph Hellwig
2024-03-26  3:53   ` [PATCH 095/110] xfs: launder in-memory btree buffers before transaction commit Darrick J. Wong
2024-03-26  3:53   ` [PATCH 096/110] xfs: create a helper to decide if a file mapping targets the rt volume Darrick J. Wong
2024-03-26  3:53   ` [PATCH 097/110] xfs: repair the rmapbt Darrick J. Wong
2024-03-26  3:53   ` [PATCH 098/110] xfs: create a shadow rmap btree during rmap repair Darrick J. Wong
2024-03-26  3:54   ` [PATCH 099/110] xfs: hook live rmap operations during a repair operation Darrick J. Wong
2024-03-26  3:54   ` [PATCH 100/110] xfs: clean up bmap log intent item tracepoint callsites Darrick J. Wong
2024-03-26  3:54   ` [PATCH 101/110] xfs: move xfs_bmap_defer_add to xfs_bmap_item.c Darrick J. Wong
2024-03-26  3:55   ` [PATCH 102/110] xfs: fix xfs_bunmapi to allow unmapping of partial rt extents Darrick J. Wong
2024-03-26  3:55   ` [PATCH 103/110] xfs: add a realtime flag to the bmap update log redo items Darrick J. Wong
2024-03-26  3:55   ` [PATCH 104/110] xfs: support deferred bmap updates on the attr fork Darrick J. Wong
2024-03-26  3:55   ` [PATCH 105/110] xfs: xfs_bmap_finish_one should map unwritten extents properly Darrick J. Wong
2024-03-26  3:56   ` [PATCH 106/110] xfs: move xfs_symlink_remote.c declarations to xfs_symlink_remote.h Darrick J. Wong
2024-03-26  3:56   ` [PATCH 107/110] xfs: move remote symlink target read function to libxfs Darrick J. Wong
2024-03-26  3:56   ` [PATCH 108/110] xfs: move symlink target write " Darrick J. Wong
2024-03-26  3:56   ` [PATCH 109/110] xfs: xfs_btree_bload_prep_block() should use __GFP_NOFAIL Darrick J. Wong
2024-03-26  3:57   ` [PATCH 110/110] xfs: shrink failure needs to hold AGI buffer Darrick J. Wong
2024-03-26  5:42   ` [PATCHSET 11/18] libxfs: sync with 6.9 Christoph Hellwig
2024-03-26  2:57 ` [PATCHSET v29.4 12/18] xfsprogs: bmap log intent cleanups Darrick J. Wong
2024-03-26  3:57   ` [PATCH 1/4] libxfs: remove kmem_alloc, kmem_zalloc, and kmem_free Darrick J. Wong
2024-03-26  3:57   ` [PATCH 2/4] libxfs: add a bi_entry helper Darrick J. Wong
2024-03-26  3:57   ` [PATCH 3/4] xfs: reuse xfs_bmap_update_cancel_item Darrick J. Wong
2024-03-26  3:58   ` [PATCH 4/4] xfs: add a xattr_entry helper Darrick J. Wong
2024-03-26  2:58 ` [PATCHSET v29.4 13/18] xfsprogs: widen BUI formats to support realtime Darrick J. Wong
2024-03-26  3:58   ` [PATCH 1/1] xfs: add a realtime flag to the bmap update log redo items Darrick J. Wong
2024-03-26  5:42     ` Christoph Hellwig
2024-03-26  2:58 ` [PATCHSET v29.4 14/18] xfs_spaceman: updates for 6.9 Darrick J. Wong
2024-03-26  3:58   ` [PATCH 1/2] xfs_spaceman: report the health of quota counts Darrick J. Wong
2024-03-26  5:43     ` Christoph Hellwig
2024-03-26  3:58   ` [PATCH 2/2] xfs_spaceman: report health of inode link counts Darrick J. Wong
2024-03-26  5:43     ` Christoph Hellwig
2024-03-26  2:58 ` [PATCHSET v29.4 15/18] xfs_scrub: updates for 6.9 Darrick J. Wong
2024-03-26  3:59   ` [PATCH 1/5] xfs_scrub: implement live quotacheck inode scan Darrick J. Wong
2024-03-26  5:44     ` Christoph Hellwig
2024-03-26  3:59   ` [PATCH 2/5] xfs_scrub: check file link counts Darrick J. Wong
2024-03-26  5:44     ` Christoph Hellwig
2024-03-26  3:59   ` [PATCH 3/5] xfs_scrub: update health status if we get a clean bill of health Darrick J. Wong
2024-03-26  5:44     ` Christoph Hellwig
2024-03-26  4:00   ` [PATCH 4/5] xfs_scrub: use multiple threads to run in-kernel metadata scrubs that scan inodes Darrick J. Wong
2024-03-26  5:45     ` Christoph Hellwig
2024-03-26  4:00   ` [PATCH 5/5] xfs_scrub: upload clean bills of health Darrick J. Wong
2024-03-26  5:45     ` Christoph Hellwig
2024-03-26  2:58 ` [PATCHSET v29.4 16/18] xfs_repair: use in-memory rmap btrees Darrick J. Wong
2024-03-26  4:00   ` [PATCH 1/5] xfs_repair: convert regular rmap repair to use in-memory btrees Darrick J. Wong
2024-03-26  5:49     ` Christoph Hellwig
2024-03-26 17:14       ` Darrick J. Wong
2024-03-26  4:00   ` [PATCH 2/5] xfs_repair: verify on-disk rmap btrees with in-memory btree data Darrick J. Wong
2024-03-26  5:52     ` Christoph Hellwig
2024-03-26  4:01   ` [PATCH 3/5] xfs_repair: compute refcount data from in-memory rmap btrees Darrick J. Wong
2024-03-26  5:55     ` Christoph Hellwig
2024-03-26 17:22       ` Darrick J. Wong
2024-03-26  4:01   ` [PATCH 4/5] xfs_repair: reduce rmap bag memory usage when creating refcounts Darrick J. Wong
2024-03-26  5:55     ` Christoph Hellwig
2024-03-26  4:01   ` [PATCH 5/5] xfs_repair: remove the old rmap collection slabs Darrick J. Wong
2024-03-26  5:55     ` Christoph Hellwig
2024-03-26  2:59 ` [PATCHSET v29.4 17/18] xfs_repair: reduce refcount repair memory usage Darrick J. Wong
2024-03-26  4:01   ` [PATCH 1/4] xfs_repair: define an in-memory btree for storing refcount bag info Darrick J. Wong
2024-03-26  5:57     ` Christoph Hellwig
2024-03-26 17:22       ` Darrick J. Wong
2024-03-26  4:02   ` [PATCH 2/4] xfs_repair: create refcount bag Darrick J. Wong
2024-03-26  5:58     ` Christoph Hellwig
2024-03-26  4:02   ` [PATCH 3/4] xfs_repair: port to the new refcount bag structure Darrick J. Wong
2024-03-26  5:58     ` Christoph Hellwig
2024-03-26  4:02   ` [PATCH 4/4] xfs_repair: remove the old bag implementation Darrick J. Wong
2024-03-26  5:58     ` Christoph Hellwig
2024-03-26  2:59 ` [PATCHSET v29.4 18/18] mkfs: cleanups for 6.9 Darrick J. Wong
2024-03-26  4:02   ` [PATCH 1/1] mkfs: use libxfs to create symlinks Darrick J. Wong
2024-03-26  5:56     ` Christoph Hellwig
2024-03-26 17:08       ` Darrick J. Wong
  -- strict thread matches above, loose matches on Subject: below --
2024-04-22 16:25 [PATCH 00/67] libxfs: Sync to Linux 6.8 cem
2024-04-22 16:25 ` [PATCH 26/67] xfs: store an ops pointer in struct xfs_defer_pending cem
2024-04-17 21:16 [PATCHSET 04/11] libxfs: sync with 6.8 Darrick J. Wong
2024-04-17 21:28 ` [PATCH 26/67] xfs: store an ops pointer in struct xfs_defer_pending Darrick J. Wong
2024-03-13  1:47 [PATCHSET 02/10] libxfs: sync with 6.8 Darrick J. Wong
2024-03-13  1:59 ` [PATCH 26/67] xfs: store an ops pointer in struct xfs_defer_pending Darrick J. Wong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=171142127337.2212320.6940452972722781203.stgit@frogsfrogsfrogs \
    --to=djwong@kernel.org \
    --cc=bodonnel@redhat.com \
    --cc=cem@kernel.org \
    --cc=chandanbabu@kernel.org \
    --cc=hch@lst.de \
    --cc=linux-xfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).