All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 6.6 0/4] fix kernel crash for xfs/235 test
@ 2025-03-22 14:34 Fedor Pchelkin
  2025-03-22 14:34 ` [PATCH 6.6 1/4] xfs: recreate work items when recovering intent items Fedor Pchelkin
                   ` (4 more replies)
  0 siblings, 5 replies; 21+ messages in thread
From: Fedor Pchelkin @ 2025-03-22 14:34 UTC (permalink / raw)
  To: Leah Rumancik
  Cc: Fedor Pchelkin, stable, xfs-stable, Darrick J. Wong,
	Christoph Hellwig, Catherine Hoang, Greg Kroah-Hartman,
	lvc-project

Incomplete backport of series "xfs: log intent item recovery should
reconstruct defer work state" [1] leads to a kernel crash during the
xfs/235 test execution on top of 6.6.y stable.

Tested (briefly) with my local xfstests setup. Additional testing would
be much appreciated.

[1]: https://lore.kernel.org/linux-xfs/170191741007.1195961.10092536809136830257.stg-ugh@frogsfrogsfrogs/

 XFS (loop1): Corruption of in-memory data (0x8) detected at xfs_trans_cancel+0x4d9/0x610 (fs/xfs/xfs_trans.c:1097).  Shutting down filesystem.
 XFS (loop1): Please unmount the filesystem and rectify the problem(s)
 general protection fault, probably for non-canonical address 0xdffffc000000000c: 0000 [#1] PREEMPT SMP KASAN NOPTI
 KASAN: null-ptr-deref in range [0x0000000000000060-0x0000000000000067]
 CPU: 1 PID: 2011 Comm: mount Not tainted 6.6.84-rc2+ #12
 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-3.fc41 04/01/2014
 RIP: 0010:xlog_recover_cancel_intents+0xad/0x1b0
 Call Trace:
  <TASK>
  xlog_recover_finish+0x7f6/0x9a0
  xfs_log_mount_finish+0x386/0x650
  xfs_mountfs+0x1405/0x1fb0
  xfs_fs_fill_super+0x11d6/0x1ca0
  get_tree_bdev+0x3b4/0x650
  vfs_get_tree+0x92/0x370
  path_mount+0x13b9/0x1f10
  __x64_sys_mount+0x286/0x310
  do_syscall_64+0x39/0x90
  entry_SYSCALL_64_after_hwframe+0x78/0xe2
  </TASK>
 Modules linked in:
 ---[ end trace 0000000000000000 ]---
 RIP: 0010:xlog_recover_cancel_intents+0xad/0x1b0


Link to the original bug report [2].

[2]: https://lore.kernel.org/stable/6pxyzwujo52p4bp2otliyssjcvsfydd6ju32eusdlyhzhpjh4q@eze6eh7rtidg/

Found by Linux Verification Center (linuxtesting.org).

Darrick J. Wong (4):
  xfs: recreate work items when recovering intent items
  xfs: dump the recovered xattri log item if corruption happens
  xfs: use xfs_defer_finish_one to finish recovered work items
  xfs: move ->iop_recover to xfs_defer_op_type

 fs/xfs/libxfs/xfs_defer.c       |  22 ++++-
 fs/xfs/libxfs/xfs_defer.h       |  14 +++
 fs/xfs/libxfs/xfs_log_recover.h |   4 +-
 fs/xfs/xfs_attr_item.c          | 115 ++++++++++++------------
 fs/xfs/xfs_bmap_item.c          |  92 ++++++++++---------
 fs/xfs/xfs_extfree_item.c       | 117 +++++++++++--------------
 fs/xfs/xfs_log_recover.c        |  37 ++++----
 fs/xfs/xfs_refcount_item.c      | 127 +++++++++------------------
 fs/xfs/xfs_rmap_item.c          | 151 ++++++++++++++++----------------
 fs/xfs/xfs_trans.h              |   4 -
 10 files changed, 326 insertions(+), 357 deletions(-)

-- 
2.49.0


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH 6.6 1/4] xfs: recreate work items when recovering intent items
  2025-03-22 14:34 [PATCH 6.6 0/4] fix kernel crash for xfs/235 test Fedor Pchelkin
@ 2025-03-22 14:34 ` Fedor Pchelkin
  2025-03-22 14:34 ` [PATCH 6.6 2/4] xfs: dump the recovered xattri log item if corruption happens Fedor Pchelkin
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 21+ messages in thread
From: Fedor Pchelkin @ 2025-03-22 14:34 UTC (permalink / raw)
  To: Leah Rumancik
  Cc: Fedor Pchelkin, stable, xfs-stable, Darrick J. Wong,
	Christoph Hellwig, Catherine Hoang, Greg Kroah-Hartman,
	lvc-project

From: Darrick J. Wong <djwong@kernel.org>

commit e70fb328d5277297ea2d9169a3a046de6412d777 upstream.

Recreate work items for each xfs_defer_pending object when we are
recovering intent items.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
[ fp: fix conflict in calling xfs_attr_namecheck() with 2 args instead
  of 3 due to backported ea0b3e814741 ("xfs: enforce one namespace per
  attribute") ]
Signed-off-by: Fedor Pchelkin <pchelkin@ispras.ru>
---
 fs/xfs/libxfs/xfs_defer.c  |   3 +-
 fs/xfs/libxfs/xfs_defer.h  |   9 +++
 fs/xfs/xfs_attr_item.c     |  92 +++++++++++++++++-------------
 fs/xfs/xfs_bmap_item.c     |  55 +++++++++++-------
 fs/xfs/xfs_extfree_item.c  |  49 +++++++++-------
 fs/xfs/xfs_refcount_item.c |  60 ++++++++++----------
 fs/xfs/xfs_rmap_item.c     | 112 ++++++++++++++++++++-----------------
 7 files changed, 216 insertions(+), 164 deletions(-)

diff --git a/fs/xfs/libxfs/xfs_defer.c b/fs/xfs/libxfs/xfs_defer.c
index 363da37a8e7f..8fb523e4f669 100644
--- a/fs/xfs/libxfs/xfs_defer.c
+++ b/fs/xfs/libxfs/xfs_defer.c
@@ -676,9 +676,8 @@ xfs_defer_add(
 		list_add_tail(&dfp->dfp_list, &tp->t_dfops);
 	}
 
-	list_add_tail(li, &dfp->dfp_work);
+	xfs_defer_add_item(dfp, li);
 	trace_xfs_defer_add_item(tp->t_mountp, dfp, li);
-	dfp->dfp_count++;
 }
 
 /*
diff --git a/fs/xfs/libxfs/xfs_defer.h b/fs/xfs/libxfs/xfs_defer.h
index 5dce938ba3d5..bef5823f61fb 100644
--- a/fs/xfs/libxfs/xfs_defer.h
+++ b/fs/xfs/libxfs/xfs_defer.h
@@ -130,6 +130,15 @@ void xfs_defer_start_recovery(struct xfs_log_item *lip,
 void xfs_defer_cancel_recovery(struct xfs_mount *mp,
 		struct xfs_defer_pending *dfp);
 
+static inline void
+xfs_defer_add_item(
+	struct xfs_defer_pending	*dfp,
+	struct list_head		*work)
+{
+	list_add_tail(work, &dfp->dfp_work);
+	dfp->dfp_count++;
+}
+
 int __init xfs_defer_init_item_caches(void);
 void xfs_defer_destroy_item_caches(void);
 
diff --git a/fs/xfs/xfs_attr_item.c b/fs/xfs/xfs_attr_item.c
index df86c9c09720..2b73132fa607 100644
--- a/fs/xfs/xfs_attr_item.c
+++ b/fs/xfs/xfs_attr_item.c
@@ -546,43 +546,17 @@ xfs_attri_validate(
 	return xfs_verify_ino(mp, attrp->alfi_ino);
 }
 
-/*
- * Process an attr intent item that was recovered from the log.  We need to
- * delete the attr that it describes.
- */
-STATIC int
-xfs_attri_item_recover(
+static inline struct xfs_attr_intent *
+xfs_attri_recover_work(
+	struct xfs_mount		*mp,
 	struct xfs_defer_pending	*dfp,
-	struct list_head		*capture_list)
+	struct xfs_attri_log_format	*attrp,
+	struct xfs_inode		*ip,
+	struct xfs_attri_log_nameval	*nv)
 {
-	struct xfs_log_item		*lip = dfp->dfp_intent;
-	struct xfs_attri_log_item	*attrip = ATTRI_ITEM(lip);
 	struct xfs_attr_intent		*attr;
-	struct xfs_mount		*mp = lip->li_log->l_mp;
-	struct xfs_inode		*ip;
 	struct xfs_da_args		*args;
-	struct xfs_trans		*tp;
-	struct xfs_trans_res		resv;
-	struct xfs_attri_log_format	*attrp;
-	struct xfs_attri_log_nameval	*nv = attrip->attri_nameval;
-	int				error;
-	int				total;
 	int				local;
-	struct xfs_attrd_log_item	*done_item = NULL;
-
-	/*
-	 * First check the validity of the attr described by the ATTRI.  If any
-	 * are bad, then assume that all are bad and just toss the ATTRI.
-	 */
-	attrp = &attrip->attri_format;
-	if (!xfs_attri_validate(mp, attrp) ||
-	    !xfs_attr_namecheck(attrp->alfi_attr_filter, nv->name.i_addr,
-				nv->name.i_len))
-		return -EFSCORRUPTED;
-
-	error = xlog_recover_iget(mp,  attrp->alfi_ino, &ip);
-	if (error)
-		return error;
 
 	attr = kmem_zalloc(sizeof(struct xfs_attr_intent) +
 			   sizeof(struct xfs_da_args), KM_NOFS);
@@ -624,19 +598,59 @@ xfs_attri_item_recover(
 	case XFS_ATTRI_OP_FLAGS_REMOVE:
 		attr->xattri_dela_state = xfs_attr_init_remove_state(args);
 		break;
-	default:
-		ASSERT(0);
-		error = -EFSCORRUPTED;
-		goto out;
 	}
 
+	xfs_defer_add_item(dfp, &attr->xattri_list);
+	return attr;
+}
+
+/*
+ * Process an attr intent item that was recovered from the log.  We need to
+ * delete the attr that it describes.
+ */
+STATIC int
+xfs_attri_item_recover(
+	struct xfs_defer_pending	*dfp,
+	struct list_head		*capture_list)
+{
+	struct xfs_log_item		*lip = dfp->dfp_intent;
+	struct xfs_attri_log_item	*attrip = ATTRI_ITEM(lip);
+	struct xfs_attr_intent		*attr;
+	struct xfs_mount		*mp = lip->li_log->l_mp;
+	struct xfs_inode		*ip;
+	struct xfs_da_args		*args;
+	struct xfs_trans		*tp;
+	struct xfs_trans_res		resv;
+	struct xfs_attri_log_format	*attrp;
+	struct xfs_attri_log_nameval	*nv = attrip->attri_nameval;
+	int				error;
+	int				total;
+	struct xfs_attrd_log_item	*done_item = NULL;
+
+	/*
+	 * First check the validity of the attr described by the ATTRI.  If any
+	 * are bad, then assume that all are bad and just toss the ATTRI.
+	 */
+	attrp = &attrip->attri_format;
+	if (!xfs_attri_validate(mp, attrp) ||
+	    !xfs_attr_namecheck(attrp->alfi_attr_filter, nv->name.i_addr,
+				nv->name.i_len))
+		return -EFSCORRUPTED;
+
+	error = xlog_recover_iget(mp,  attrp->alfi_ino, &ip);
+	if (error)
+		return error;
+
+	attr = xfs_attri_recover_work(mp, dfp, attrp, ip, nv);
+	args = attr->xattri_da_args;
+
 	xfs_init_attr_trans(args, &resv, &total);
 	resv = xlog_recover_resv(&resv);
 	error = xfs_trans_alloc(mp, &resv, total, 0, XFS_TRANS_RESERVE, &tp);
 	if (error)
-		goto out;
-
+		return error;
 	args->trans = tp;
+
 	done_item = xfs_trans_get_attrd(tp, attrip);
 	xlog_recover_transfer_intent(tp, dfp);
 
@@ -667,8 +681,6 @@ xfs_attri_item_recover(
 out_unlock:
 	xfs_iunlock(ip, XFS_ILOCK_EXCL);
 	xfs_irele(ip);
-out:
-	xfs_attr_free_item(attr);
 	return error;
 }
 
diff --git a/fs/xfs/xfs_bmap_item.c b/fs/xfs/xfs_bmap_item.c
index b6d63b8bdad5..b65999bf0ea3 100644
--- a/fs/xfs/xfs_bmap_item.c
+++ b/fs/xfs/xfs_bmap_item.c
@@ -480,6 +480,28 @@ xfs_bui_validate(
 	return xfs_verify_fsbext(mp, map->me_startblock, map->me_len);
 }
 
+static inline struct xfs_bmap_intent *
+xfs_bui_recover_work(
+	struct xfs_mount		*mp,
+	struct xfs_defer_pending	*dfp,
+	struct xfs_map_extent		*map)
+{
+	struct xfs_bmap_intent		*bi;
+
+	bi = kmem_cache_zalloc(xfs_bmap_intent_cache, GFP_NOFS | __GFP_NOFAIL);
+	bi->bi_whichfork = (map->me_flags & XFS_BMAP_EXTENT_ATTR_FORK) ?
+			XFS_ATTR_FORK : XFS_DATA_FORK;
+	bi->bi_type = map->me_flags & XFS_BMAP_EXTENT_TYPE_MASK;
+	bi->bi_bmap.br_startblock = map->me_startblock;
+	bi->bi_bmap.br_startoff = map->me_startoff;
+	bi->bi_bmap.br_blockcount = map->me_len;
+	bi->bi_bmap.br_state = (map->me_flags & XFS_BMAP_EXTENT_UNWRITTEN) ?
+			XFS_EXT_UNWRITTEN : XFS_EXT_NORM;
+
+	xfs_defer_add_item(dfp, &bi->bi_list);
+	return bi;
+}
+
 /*
  * Process a bmap update intent item that was recovered from the log.
  * We need to update some inode's bmbt.
@@ -489,7 +511,6 @@ xfs_bui_item_recover(
 	struct xfs_defer_pending	*dfp,
 	struct list_head		*capture_list)
 {
-	struct xfs_bmap_intent		fake = { };
 	struct xfs_trans_res		resv;
 	struct xfs_log_item		*lip = dfp->dfp_intent;
 	struct xfs_bui_log_item		*buip = BUI_ITEM(lip);
@@ -498,6 +519,7 @@ xfs_bui_item_recover(
 	struct xfs_mount		*mp = lip->li_log->l_mp;
 	struct xfs_map_extent		*map;
 	struct xfs_bud_log_item		*budp;
+	struct xfs_bmap_intent		*fake;
 	int				iext_delta;
 	int				error = 0;
 
@@ -508,9 +530,7 @@ xfs_bui_item_recover(
 	}
 
 	map = &buip->bui_format.bui_extents[0];
-	fake.bi_whichfork = (map->me_flags & XFS_BMAP_EXTENT_ATTR_FORK) ?
-			XFS_ATTR_FORK : XFS_DATA_FORK;
-	fake.bi_type = map->me_flags & XFS_BMAP_EXTENT_TYPE_MASK;
+	fake = xfs_bui_recover_work(mp, dfp, map);
 
 	error = xlog_recover_iget(mp, map->me_owner, &ip);
 	if (error)
@@ -529,36 +549,31 @@ xfs_bui_item_recover(
 	xfs_ilock(ip, XFS_ILOCK_EXCL);
 	xfs_trans_ijoin(tp, ip, 0);
 
-	if (fake.bi_type == XFS_BMAP_MAP)
+	if (fake->bi_type == XFS_BMAP_MAP)
 		iext_delta = XFS_IEXT_ADD_NOSPLIT_CNT;
 	else
 		iext_delta = XFS_IEXT_PUNCH_HOLE_CNT;
 
-	error = xfs_iext_count_may_overflow(ip, fake.bi_whichfork, iext_delta);
+	error = xfs_iext_count_may_overflow(ip, fake->bi_whichfork, iext_delta);
 	if (error == -EFBIG)
 		error = xfs_iext_count_upgrade(tp, ip, iext_delta);
 	if (error)
 		goto err_cancel;
 
-	fake.bi_owner = ip;
-	fake.bi_bmap.br_startblock = map->me_startblock;
-	fake.bi_bmap.br_startoff = map->me_startoff;
-	fake.bi_bmap.br_blockcount = map->me_len;
-	fake.bi_bmap.br_state = (map->me_flags & XFS_BMAP_EXTENT_UNWRITTEN) ?
-			XFS_EXT_UNWRITTEN : XFS_EXT_NORM;
+	fake->bi_owner = ip;
 
-	xfs_bmap_update_get_group(mp, &fake);
-	error = xfs_trans_log_finish_bmap_update(tp, budp, &fake);
+	xfs_bmap_update_get_group(mp, fake);
+	error = xfs_trans_log_finish_bmap_update(tp, budp, fake);
 	if (error == -EFSCORRUPTED)
-		XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp, map,
-				sizeof(*map));
-	xfs_bmap_update_put_group(&fake);
+		XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp,
+				&buip->bui_format, sizeof(buip->bui_format));
+	xfs_bmap_update_put_group(fake);
 	if (error)
 		goto err_cancel;
 
-	if (fake.bi_bmap.br_blockcount > 0) {
-		ASSERT(fake.bi_type == XFS_BMAP_UNMAP);
-		xfs_bmap_unmap_extent(tp, ip, &fake.bi_bmap);
+	if (fake->bi_bmap.br_blockcount > 0) {
+		ASSERT(fake->bi_type == XFS_BMAP_UNMAP);
+		xfs_bmap_unmap_extent(tp, ip, &fake->bi_bmap);
 	}
 
 	/*
diff --git a/fs/xfs/xfs_extfree_item.c b/fs/xfs/xfs_extfree_item.c
index c9908fb33765..41108a0b60c9 100644
--- a/fs/xfs/xfs_extfree_item.c
+++ b/fs/xfs/xfs_extfree_item.c
@@ -651,6 +651,24 @@ xfs_efi_validate_ext(
 	return xfs_verify_fsbext(mp, extp->ext_start, extp->ext_len);
 }
 
+static inline void
+xfs_efi_recover_work(
+	struct xfs_mount		*mp,
+	struct xfs_defer_pending	*dfp,
+	struct xfs_extent		*extp)
+{
+	struct xfs_extent_free_item	*xefi;
+
+	xefi = kmem_cache_zalloc(xfs_extfree_item_cache,
+			       GFP_KERNEL | __GFP_NOFAIL);
+	xefi->xefi_startblock = extp->ext_start;
+	xefi->xefi_blockcount = extp->ext_len;
+	xefi->xefi_agresv = XFS_AG_RESV_NONE;
+	xefi->xefi_owner = XFS_RMAP_OWN_UNKNOWN;
+
+	xfs_defer_add_item(dfp, &xefi->xefi_list);
+}
+
 /*
  * Process an extent free intent item that was recovered from
  * the log.  We need to free the extents that it describes.
@@ -666,6 +684,7 @@ xfs_efi_item_recover(
 	struct xfs_mount		*mp = lip->li_log->l_mp;
 	struct xfs_efd_log_item		*efdp;
 	struct xfs_trans		*tp;
+	struct xfs_extent_free_item	*fake;
 	int				i;
 	int				error = 0;
 	bool				requeue_only = false;
@@ -683,6 +702,8 @@ xfs_efi_item_recover(
 					sizeof(efip->efi_format));
 			return -EFSCORRUPTED;
 		}
+
+		xfs_efi_recover_work(mp, dfp, &efip->efi_format.efi_extents[i]);
 	}
 
 	resv = xlog_recover_resv(&M_RES(mp)->tr_itruncate);
@@ -693,22 +714,11 @@ xfs_efi_item_recover(
 	efdp = xfs_trans_get_efd(tp, efip, efip->efi_format.efi_nextents);
 	xlog_recover_transfer_intent(tp, dfp);
 
-	for (i = 0; i < efip->efi_format.efi_nextents; i++) {
-		struct xfs_extent_free_item	fake = {
-			.xefi_owner		= XFS_RMAP_OWN_UNKNOWN,
-			.xefi_agresv		= XFS_AG_RESV_NONE,
-		};
-		struct xfs_extent		*extp;
-
-		extp = &efip->efi_format.efi_extents[i];
-
-		fake.xefi_startblock = extp->ext_start;
-		fake.xefi_blockcount = extp->ext_len;
-
+	list_for_each_entry(fake, &dfp->dfp_work, xefi_list) {
 		if (!requeue_only) {
-			xfs_extent_free_get_group(mp, &fake);
-			error = xfs_trans_free_extent(tp, efdp, &fake);
-			xfs_extent_free_put_group(&fake);
+			xfs_extent_free_get_group(mp, fake);
+			error = xfs_trans_free_extent(tp, efdp, fake);
+			xfs_extent_free_put_group(fake);
 		}
 
 		/*
@@ -717,10 +727,10 @@ xfs_efi_item_recover(
 		 * run again later with a new transaction context.
 		 */
 		if (error == -EAGAIN || requeue_only) {
-			error = xfs_free_extent_later(tp, fake.xefi_startblock,
-					fake.xefi_blockcount,
+			error = xfs_free_extent_later(tp, fake->xefi_startblock,
+					fake->xefi_blockcount,
 					&XFS_RMAP_OINFO_ANY_OWNER,
-					fake.xefi_agresv);
+					fake->xefi_agresv);
 			if (!error) {
 				requeue_only = true;
 				continue;
@@ -729,7 +739,8 @@ xfs_efi_item_recover(
 
 		if (error == -EFSCORRUPTED)
 			XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp,
-					extp, sizeof(*extp));
+					&efip->efi_format,
+					sizeof(efip->efi_format));
 		if (error)
 			goto abort_error;
 
diff --git a/fs/xfs/xfs_refcount_item.c b/fs/xfs/xfs_refcount_item.c
index f1b259223802..4ffc34e6f0a0 100644
--- a/fs/xfs/xfs_refcount_item.c
+++ b/fs/xfs/xfs_refcount_item.c
@@ -468,6 +468,23 @@ xfs_cui_validate_phys(
 	return xfs_verify_fsbext(mp, pmap->pe_startblock, pmap->pe_len);
 }
 
+static inline void
+xfs_cui_recover_work(
+	struct xfs_mount		*mp,
+	struct xfs_defer_pending	*dfp,
+	struct xfs_phys_extent		*pmap)
+{
+	struct xfs_refcount_intent	*ri;
+
+	ri = kmem_cache_alloc(xfs_refcount_intent_cache,
+			GFP_NOFS | __GFP_NOFAIL);
+	ri->ri_type = pmap->pe_flags & XFS_REFCOUNT_EXTENT_TYPE_MASK;
+	ri->ri_startblock = pmap->pe_startblock;
+	ri->ri_blockcount = pmap->pe_len;
+
+	xfs_defer_add_item(dfp, &ri->ri_list);
+}
+
 /*
  * Process a refcount update intent item that was recovered from the log.
  * We need to update the refcountbt.
@@ -484,7 +501,7 @@ xfs_cui_item_recover(
 	struct xfs_trans		*tp;
 	struct xfs_btree_cur		*rcur = NULL;
 	struct xfs_mount		*mp = lip->li_log->l_mp;
-	unsigned int			refc_type;
+	struct xfs_refcount_intent	*fake;
 	bool				requeue_only = false;
 	int				i;
 	int				error = 0;
@@ -502,6 +519,8 @@ xfs_cui_item_recover(
 					sizeof(cuip->cui_format));
 			return -EFSCORRUPTED;
 		}
+
+		xfs_cui_recover_work(mp, dfp, &cuip->cui_format.cui_extents[i]);
 	}
 
 	/*
@@ -525,35 +544,12 @@ xfs_cui_item_recover(
 	cudp = xfs_trans_get_cud(tp, cuip);
 	xlog_recover_transfer_intent(tp, dfp);
 
-	for (i = 0; i < cuip->cui_format.cui_nextents; i++) {
-		struct xfs_refcount_intent	fake = { };
-		struct xfs_phys_extent		*pmap;
-
-		pmap = &cuip->cui_format.cui_extents[i];
-		refc_type = pmap->pe_flags & XFS_REFCOUNT_EXTENT_TYPE_MASK;
-		switch (refc_type) {
-		case XFS_REFCOUNT_INCREASE:
-		case XFS_REFCOUNT_DECREASE:
-		case XFS_REFCOUNT_ALLOC_COW:
-		case XFS_REFCOUNT_FREE_COW:
-			fake.ri_type = refc_type;
-			break;
-		default:
-			XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp,
-					&cuip->cui_format,
-					sizeof(cuip->cui_format));
-			error = -EFSCORRUPTED;
-			goto abort_error;
-		}
-
-		fake.ri_startblock = pmap->pe_startblock;
-		fake.ri_blockcount = pmap->pe_len;
-
+	list_for_each_entry(fake, &dfp->dfp_work, ri_list) {
 		if (!requeue_only) {
-			xfs_refcount_update_get_group(mp, &fake);
+			xfs_refcount_update_get_group(mp, fake);
 			error = xfs_trans_log_finish_refcount_update(tp, cudp,
-					&fake, &rcur);
-			xfs_refcount_update_put_group(&fake);
+					fake, &rcur);
+			xfs_refcount_update_put_group(fake);
 		}
 		if (error == -EFSCORRUPTED)
 			XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp,
@@ -563,13 +559,13 @@ xfs_cui_item_recover(
 			goto abort_error;
 
 		/* Requeue what we didn't finish. */
-		if (fake.ri_blockcount > 0) {
+		if (fake->ri_blockcount > 0) {
 			struct xfs_bmbt_irec	irec = {
-				.br_startblock	= fake.ri_startblock,
-				.br_blockcount	= fake.ri_blockcount,
+				.br_startblock	= fake->ri_startblock,
+				.br_blockcount	= fake->ri_blockcount,
 			};
 
-			switch (fake.ri_type) {
+			switch (fake->ri_type) {
 			case XFS_REFCOUNT_INCREASE:
 				xfs_refcount_increase_extent(tp, &irec);
 				break;
diff --git a/fs/xfs/xfs_rmap_item.c b/fs/xfs/xfs_rmap_item.c
index 5e8a02d2b045..9fb3ae4bfd59 100644
--- a/fs/xfs/xfs_rmap_item.c
+++ b/fs/xfs/xfs_rmap_item.c
@@ -498,6 +498,58 @@ xfs_rui_validate_map(
 	return xfs_verify_fsbext(mp, map->me_startblock, map->me_len);
 }
 
+static inline void
+xfs_rui_recover_work(
+	struct xfs_mount		*mp,
+	struct xfs_defer_pending	*dfp,
+	const struct xfs_map_extent	*map)
+{
+	struct xfs_rmap_intent		*ri;
+
+	ri = kmem_cache_alloc(xfs_rmap_intent_cache, GFP_NOFS | __GFP_NOFAIL);
+
+	switch (map->me_flags & XFS_RMAP_EXTENT_TYPE_MASK) {
+	case XFS_RMAP_EXTENT_MAP:
+		ri->ri_type = XFS_RMAP_MAP;
+		break;
+	case XFS_RMAP_EXTENT_MAP_SHARED:
+		ri->ri_type = XFS_RMAP_MAP_SHARED;
+		break;
+	case XFS_RMAP_EXTENT_UNMAP:
+		ri->ri_type = XFS_RMAP_UNMAP;
+		break;
+	case XFS_RMAP_EXTENT_UNMAP_SHARED:
+		ri->ri_type = XFS_RMAP_UNMAP_SHARED;
+		break;
+	case XFS_RMAP_EXTENT_CONVERT:
+		ri->ri_type = XFS_RMAP_CONVERT;
+		break;
+	case XFS_RMAP_EXTENT_CONVERT_SHARED:
+		ri->ri_type = XFS_RMAP_CONVERT_SHARED;
+		break;
+	case XFS_RMAP_EXTENT_ALLOC:
+		ri->ri_type = XFS_RMAP_ALLOC;
+		break;
+	case XFS_RMAP_EXTENT_FREE:
+		ri->ri_type = XFS_RMAP_FREE;
+		break;
+	default:
+		ASSERT(0);
+		return;
+	}
+
+	ri->ri_owner = map->me_owner;
+	ri->ri_whichfork = (map->me_flags & XFS_RMAP_EXTENT_ATTR_FORK) ?
+			XFS_ATTR_FORK : XFS_DATA_FORK;
+	ri->ri_bmap.br_startblock = map->me_startblock;
+	ri->ri_bmap.br_startoff = map->me_startoff;
+	ri->ri_bmap.br_blockcount = map->me_len;
+	ri->ri_bmap.br_state = (map->me_flags & XFS_RMAP_EXTENT_UNWRITTEN) ?
+			XFS_EXT_UNWRITTEN : XFS_EXT_NORM;
+
+	xfs_defer_add_item(dfp, &ri->ri_list);
+}
+
 /*
  * Process an rmap update intent item that was recovered from the log.
  * We need to update the rmapbt.
@@ -514,6 +566,7 @@ xfs_rui_item_recover(
 	struct xfs_trans		*tp;
 	struct xfs_btree_cur		*rcur = NULL;
 	struct xfs_mount		*mp = lip->li_log->l_mp;
+	struct xfs_rmap_intent		*fake;
 	int				i;
 	int				error = 0;
 
@@ -530,6 +583,8 @@ xfs_rui_item_recover(
 					sizeof(ruip->rui_format));
 			return -EFSCORRUPTED;
 		}
+
+		xfs_rui_recover_work(mp, dfp, &ruip->rui_format.rui_extents[i]);
 	}
 
 	resv = xlog_recover_resv(&M_RES(mp)->tr_itruncate);
@@ -541,60 +596,15 @@ xfs_rui_item_recover(
 	rudp = xfs_trans_get_rud(tp, ruip);
 	xlog_recover_transfer_intent(tp, dfp);
 
-	for (i = 0; i < ruip->rui_format.rui_nextents; i++) {
-		struct xfs_rmap_intent	fake = { };
-		struct xfs_map_extent	*map;
-
-		map = &ruip->rui_format.rui_extents[i];
-		switch (map->me_flags & XFS_RMAP_EXTENT_TYPE_MASK) {
-		case XFS_RMAP_EXTENT_MAP:
-			fake.ri_type = XFS_RMAP_MAP;
-			break;
-		case XFS_RMAP_EXTENT_MAP_SHARED:
-			fake.ri_type = XFS_RMAP_MAP_SHARED;
-			break;
-		case XFS_RMAP_EXTENT_UNMAP:
-			fake.ri_type = XFS_RMAP_UNMAP;
-			break;
-		case XFS_RMAP_EXTENT_UNMAP_SHARED:
-			fake.ri_type = XFS_RMAP_UNMAP_SHARED;
-			break;
-		case XFS_RMAP_EXTENT_CONVERT:
-			fake.ri_type = XFS_RMAP_CONVERT;
-			break;
-		case XFS_RMAP_EXTENT_CONVERT_SHARED:
-			fake.ri_type = XFS_RMAP_CONVERT_SHARED;
-			break;
-		case XFS_RMAP_EXTENT_ALLOC:
-			fake.ri_type = XFS_RMAP_ALLOC;
-			break;
-		case XFS_RMAP_EXTENT_FREE:
-			fake.ri_type = XFS_RMAP_FREE;
-			break;
-		default:
-			XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp,
-					&ruip->rui_format,
-					sizeof(ruip->rui_format));
-			error = -EFSCORRUPTED;
-			goto abort_error;
-		}
-
-		fake.ri_owner = map->me_owner;
-		fake.ri_whichfork = (map->me_flags & XFS_RMAP_EXTENT_ATTR_FORK) ?
-				XFS_ATTR_FORK : XFS_DATA_FORK;
-		fake.ri_bmap.br_startblock = map->me_startblock;
-		fake.ri_bmap.br_startoff = map->me_startoff;
-		fake.ri_bmap.br_blockcount = map->me_len;
-		fake.ri_bmap.br_state = (map->me_flags & XFS_RMAP_EXTENT_UNWRITTEN) ?
-				XFS_EXT_UNWRITTEN : XFS_EXT_NORM;
-
-		xfs_rmap_update_get_group(mp, &fake);
-		error = xfs_trans_log_finish_rmap_update(tp, rudp, &fake,
+	list_for_each_entry(fake, &dfp->dfp_work, ri_list) {
+		xfs_rmap_update_get_group(mp, fake);
+		error = xfs_trans_log_finish_rmap_update(tp, rudp, fake,
 				&rcur);
 		if (error == -EFSCORRUPTED)
 			XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp,
-					map, sizeof(*map));
-		xfs_rmap_update_put_group(&fake);
+					&ruip->rui_format,
+					sizeof(ruip->rui_format));
+		xfs_rmap_update_put_group(fake);
 		if (error)
 			goto abort_error;
 
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 6.6 2/4] xfs: dump the recovered xattri log item if corruption happens
  2025-03-22 14:34 [PATCH 6.6 0/4] fix kernel crash for xfs/235 test Fedor Pchelkin
  2025-03-22 14:34 ` [PATCH 6.6 1/4] xfs: recreate work items when recovering intent items Fedor Pchelkin
@ 2025-03-22 14:34 ` Fedor Pchelkin
  2025-03-22 14:34 ` [PATCH 6.6 3/4] xfs: use xfs_defer_finish_one to finish recovered work items Fedor Pchelkin
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 21+ messages in thread
From: Fedor Pchelkin @ 2025-03-22 14:34 UTC (permalink / raw)
  To: Leah Rumancik
  Cc: Fedor Pchelkin, stable, xfs-stable, Darrick J. Wong,
	Christoph Hellwig, Catherine Hoang, Greg Kroah-Hartman,
	lvc-project

From: Darrick J. Wong <djwong@kernel.org>

commit a51489e140d302c7afae763eacf882a23513f7e4 upstream.

If xfs_attri_item_recover receives a corruption error when it tries to
finish a recovered log intent item, it should dump the log item for
debugging, just like all the other log intent items.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Fedor Pchelkin <pchelkin@ispras.ru>
---
 fs/xfs/xfs_attr_item.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/fs/xfs/xfs_attr_item.c b/fs/xfs/xfs_attr_item.c
index 2b73132fa607..8ed840c189cb 100644
--- a/fs/xfs/xfs_attr_item.c
+++ b/fs/xfs/xfs_attr_item.c
@@ -672,6 +672,10 @@ xfs_attri_item_recover(
 		xfs_irele(ip);
 		return 0;
 	}
+	if (error == -EFSCORRUPTED)
+		XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp,
+				&attrip->attri_format,
+				sizeof(attrip->attri_format));
 	if (error) {
 		xfs_trans_cancel(tp);
 		goto out_unlock;
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 6.6 3/4] xfs: use xfs_defer_finish_one to finish recovered work items
  2025-03-22 14:34 [PATCH 6.6 0/4] fix kernel crash for xfs/235 test Fedor Pchelkin
  2025-03-22 14:34 ` [PATCH 6.6 1/4] xfs: recreate work items when recovering intent items Fedor Pchelkin
  2025-03-22 14:34 ` [PATCH 6.6 2/4] xfs: dump the recovered xattri log item if corruption happens Fedor Pchelkin
@ 2025-03-22 14:34 ` Fedor Pchelkin
  2025-03-22 14:34 ` [PATCH 6.6 4/4] xfs: move ->iop_recover to xfs_defer_op_type Fedor Pchelkin
  2026-06-11 18:39 ` [PATCH 6.6 0/4] fix kernel crash for xfs/235 test Hamza Mahfooz
  4 siblings, 0 replies; 21+ messages in thread
From: Fedor Pchelkin @ 2025-03-22 14:34 UTC (permalink / raw)
  To: Leah Rumancik
  Cc: Fedor Pchelkin, stable, xfs-stable, Darrick J. Wong,
	Christoph Hellwig, Catherine Hoang, Greg Kroah-Hartman,
	lvc-project

From: Darrick J. Wong <djwong@kernel.org>

commit e5f1a5146ec35f3ed5d7f5ac7807a10c0062b6b8 upstream.

Get rid of the open-coded calls to xfs_defer_finish_one.  This also
means that the recovery transaction takes care of cleaning up the dfp,
and we have solved (I hope) all the ownership issues in recovery.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Fedor Pchelkin <pchelkin@ispras.ru>
---
 fs/xfs/libxfs/xfs_defer.c       |  2 +-
 fs/xfs/libxfs/xfs_defer.h       |  1 +
 fs/xfs/libxfs/xfs_log_recover.h |  2 +-
 fs/xfs/xfs_attr_item.c          | 20 +----------
 fs/xfs/xfs_bmap_item.c          | 24 ++++---------
 fs/xfs/xfs_extfree_item.c       | 45 +++++-------------------
 fs/xfs/xfs_log_recover.c        | 22 +++++++-----
 fs/xfs/xfs_refcount_item.c      | 61 +++++----------------------------
 fs/xfs/xfs_rmap_item.c          | 29 +++++-----------
 9 files changed, 49 insertions(+), 157 deletions(-)

diff --git a/fs/xfs/libxfs/xfs_defer.c b/fs/xfs/libxfs/xfs_defer.c
index 8fb523e4f669..eb262ea06122 100644
--- a/fs/xfs/libxfs/xfs_defer.c
+++ b/fs/xfs/libxfs/xfs_defer.c
@@ -484,7 +484,7 @@ xfs_defer_relog(
  * Log an intent-done item for the first pending intent, and finish the work
  * items.
  */
-static int
+int
 xfs_defer_finish_one(
 	struct xfs_trans		*tp,
 	struct xfs_defer_pending	*dfp)
diff --git a/fs/xfs/libxfs/xfs_defer.h b/fs/xfs/libxfs/xfs_defer.h
index bef5823f61fb..c1a648e99174 100644
--- a/fs/xfs/libxfs/xfs_defer.h
+++ b/fs/xfs/libxfs/xfs_defer.h
@@ -41,6 +41,7 @@ void xfs_defer_add(struct xfs_trans *tp, enum xfs_defer_ops_type type,
 		struct list_head *h);
 int xfs_defer_finish_noroll(struct xfs_trans **tp);
 int xfs_defer_finish(struct xfs_trans **tp);
+int xfs_defer_finish_one(struct xfs_trans *tp, struct xfs_defer_pending *dfp);
 void xfs_defer_cancel(struct xfs_trans *);
 void xfs_defer_move(struct xfs_trans *dtp, struct xfs_trans *stp);
 
diff --git a/fs/xfs/libxfs/xfs_log_recover.h b/fs/xfs/libxfs/xfs_log_recover.h
index 13583df9f239..52162a17fc5e 100644
--- a/fs/xfs/libxfs/xfs_log_recover.h
+++ b/fs/xfs/libxfs/xfs_log_recover.h
@@ -155,7 +155,7 @@ xlog_recover_resv(const struct xfs_trans_res *r)
 
 void xlog_recover_intent_item(struct xlog *log, struct xfs_log_item *lip,
 		xfs_lsn_t lsn, unsigned int dfp_type);
-void xlog_recover_transfer_intent(struct xfs_trans *tp,
+int xlog_recover_finish_intent(struct xfs_trans *tp,
 		struct xfs_defer_pending *dfp);
 
 #endif	/* __XFS_LOG_RECOVER_H__ */
diff --git a/fs/xfs/xfs_attr_item.c b/fs/xfs/xfs_attr_item.c
index 8ed840c189cb..33e31d42d214 100644
--- a/fs/xfs/xfs_attr_item.c
+++ b/fs/xfs/xfs_attr_item.c
@@ -625,7 +625,6 @@ xfs_attri_item_recover(
 	struct xfs_attri_log_nameval	*nv = attrip->attri_nameval;
 	int				error;
 	int				total;
-	struct xfs_attrd_log_item	*done_item = NULL;
 
 	/*
 	 * First check the validity of the attr described by the ATTRI.  If any
@@ -651,27 +650,10 @@ xfs_attri_item_recover(
 		return error;
 	args->trans = tp;
 
-	done_item = xfs_trans_get_attrd(tp, attrip);
-	xlog_recover_transfer_intent(tp, dfp);
-
 	xfs_ilock(ip, XFS_ILOCK_EXCL);
 	xfs_trans_ijoin(tp, ip, 0);
 
-	error = xfs_xattri_finish_update(attr, done_item);
-	if (error == -EAGAIN) {
-		/*
-		 * There's more work to do, so add the intent item to this
-		 * transaction so that we can continue it later.
-		 */
-		xfs_defer_add(tp, XFS_DEFER_OPS_TYPE_ATTR, &attr->xattri_list);
-		error = xfs_defer_ops_capture_and_commit(tp, capture_list);
-		if (error)
-			goto out_unlock;
-
-		xfs_iunlock(ip, XFS_ILOCK_EXCL);
-		xfs_irele(ip);
-		return 0;
-	}
+	error = xlog_recover_finish_intent(tp, dfp);
 	if (error == -EFSCORRUPTED)
 		XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp,
 				&attrip->attri_format,
diff --git a/fs/xfs/xfs_bmap_item.c b/fs/xfs/xfs_bmap_item.c
index b65999bf0ea3..89f2d9e89607 100644
--- a/fs/xfs/xfs_bmap_item.c
+++ b/fs/xfs/xfs_bmap_item.c
@@ -497,6 +497,7 @@ xfs_bui_recover_work(
 	bi->bi_bmap.br_blockcount = map->me_len;
 	bi->bi_bmap.br_state = (map->me_flags & XFS_BMAP_EXTENT_UNWRITTEN) ?
 			XFS_EXT_UNWRITTEN : XFS_EXT_NORM;
+	xfs_bmap_update_get_group(mp, bi);
 
 	xfs_defer_add_item(dfp, &bi->bi_list);
 	return bi;
@@ -518,8 +519,7 @@ xfs_bui_item_recover(
 	struct xfs_inode		*ip = NULL;
 	struct xfs_mount		*mp = lip->li_log->l_mp;
 	struct xfs_map_extent		*map;
-	struct xfs_bud_log_item		*budp;
-	struct xfs_bmap_intent		*fake;
+	struct xfs_bmap_intent		*work;
 	int				iext_delta;
 	int				error = 0;
 
@@ -530,7 +530,7 @@ xfs_bui_item_recover(
 	}
 
 	map = &buip->bui_format.bui_extents[0];
-	fake = xfs_bui_recover_work(mp, dfp, map);
+	work = xfs_bui_recover_work(mp, dfp, map);
 
 	error = xlog_recover_iget(mp, map->me_owner, &ip);
 	if (error)
@@ -543,39 +543,29 @@ xfs_bui_item_recover(
 	if (error)
 		goto err_rele;
 
-	budp = xfs_trans_get_bud(tp, buip);
-	xlog_recover_transfer_intent(tp, dfp);
-
 	xfs_ilock(ip, XFS_ILOCK_EXCL);
 	xfs_trans_ijoin(tp, ip, 0);
 
-	if (fake->bi_type == XFS_BMAP_MAP)
+	if (work->bi_type == XFS_BMAP_MAP)
 		iext_delta = XFS_IEXT_ADD_NOSPLIT_CNT;
 	else
 		iext_delta = XFS_IEXT_PUNCH_HOLE_CNT;
 
-	error = xfs_iext_count_may_overflow(ip, fake->bi_whichfork, iext_delta);
+	error = xfs_iext_count_may_overflow(ip, work->bi_whichfork, iext_delta);
 	if (error == -EFBIG)
 		error = xfs_iext_count_upgrade(tp, ip, iext_delta);
 	if (error)
 		goto err_cancel;
 
-	fake->bi_owner = ip;
+	work->bi_owner = ip;
 
-	xfs_bmap_update_get_group(mp, fake);
-	error = xfs_trans_log_finish_bmap_update(tp, budp, fake);
+	error = xlog_recover_finish_intent(tp, dfp);
 	if (error == -EFSCORRUPTED)
 		XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp,
 				&buip->bui_format, sizeof(buip->bui_format));
-	xfs_bmap_update_put_group(fake);
 	if (error)
 		goto err_cancel;
 
-	if (fake->bi_bmap.br_blockcount > 0) {
-		ASSERT(fake->bi_type == XFS_BMAP_UNMAP);
-		xfs_bmap_unmap_extent(tp, ip, &fake->bi_bmap);
-	}
-
 	/*
 	 * Commit transaction, which frees the transaction and saves the inode
 	 * for later replay activities.
diff --git a/fs/xfs/xfs_extfree_item.c b/fs/xfs/xfs_extfree_item.c
index 41108a0b60c9..6a434ade486c 100644
--- a/fs/xfs/xfs_extfree_item.c
+++ b/fs/xfs/xfs_extfree_item.c
@@ -665,6 +665,7 @@ xfs_efi_recover_work(
 	xefi->xefi_blockcount = extp->ext_len;
 	xefi->xefi_agresv = XFS_AG_RESV_NONE;
 	xefi->xefi_owner = XFS_RMAP_OWN_UNKNOWN;
+	xfs_extent_free_get_group(mp, xefi);
 
 	xfs_defer_add_item(dfp, &xefi->xefi_list);
 }
@@ -682,12 +683,9 @@ xfs_efi_item_recover(
 	struct xfs_log_item		*lip = dfp->dfp_intent;
 	struct xfs_efi_log_item		*efip = EFI_ITEM(lip);
 	struct xfs_mount		*mp = lip->li_log->l_mp;
-	struct xfs_efd_log_item		*efdp;
 	struct xfs_trans		*tp;
-	struct xfs_extent_free_item	*fake;
 	int				i;
 	int				error = 0;
-	bool				requeue_only = false;
 
 	/*
 	 * First check the validity of the extents described by the
@@ -711,40 +709,13 @@ xfs_efi_item_recover(
 	if (error)
 		return error;
 
-	efdp = xfs_trans_get_efd(tp, efip, efip->efi_format.efi_nextents);
-	xlog_recover_transfer_intent(tp, dfp);
-
-	list_for_each_entry(fake, &dfp->dfp_work, xefi_list) {
-		if (!requeue_only) {
-			xfs_extent_free_get_group(mp, fake);
-			error = xfs_trans_free_extent(tp, efdp, fake);
-			xfs_extent_free_put_group(fake);
-		}
-
-		/*
-		 * If we can't free the extent without potentially deadlocking,
-		 * requeue the rest of the extents to a new so that they get
-		 * run again later with a new transaction context.
-		 */
-		if (error == -EAGAIN || requeue_only) {
-			error = xfs_free_extent_later(tp, fake->xefi_startblock,
-					fake->xefi_blockcount,
-					&XFS_RMAP_OINFO_ANY_OWNER,
-					fake->xefi_agresv);
-			if (!error) {
-				requeue_only = true;
-				continue;
-			}
-		}
-
-		if (error == -EFSCORRUPTED)
-			XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp,
-					&efip->efi_format,
-					sizeof(efip->efi_format));
-		if (error)
-			goto abort_error;
-
-	}
+	error = xlog_recover_finish_intent(tp, dfp);
+	if (error == -EFSCORRUPTED)
+		XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp,
+				&efip->efi_format,
+				sizeof(efip->efi_format));
+	if (error)
+		goto abort_error;
 
 	return xfs_defer_ops_capture_and_commit(tp, capture_list);
 
diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c
index 60382eb49961..92bf97a6e108 100644
--- a/fs/xfs/xfs_log_recover.c
+++ b/fs/xfs/xfs_log_recover.c
@@ -2584,7 +2584,8 @@ xlog_recover_process_intents(
 		 * replayed in the wrong order!
 		 *
 		 * The recovery function can free the log item, so we must not
-		 * access lip after it returns.
+		 * access lip after it returns.  It must dispose of @dfp if it
+		 * returns 0.
 		 */
 		error = ops->iop_recover(dfp, &capture_list);
 		if (error) {
@@ -2592,8 +2593,6 @@ xlog_recover_process_intents(
 					ops->iop_recover);
 			break;
 		}
-
-		xfs_defer_cancel_recovery(log->l_mp, dfp);
 	}
 	if (error)
 		goto err;
@@ -2627,15 +2626,22 @@ xlog_recover_cancel_intents(
 }
 
 /*
- * Transfer ownership of the recovered log intent item to the recovery
- * transaction.
+ * Transfer ownership of the recovered pending work to the recovery transaction
+ * and try to finish the work.  If there is more work to be done, the dfp will
+ * remain attached to the transaction.  If not, the dfp is freed.
  */
-void
-xlog_recover_transfer_intent(
+int
+xlog_recover_finish_intent(
 	struct xfs_trans		*tp,
 	struct xfs_defer_pending	*dfp)
 {
-	dfp->dfp_intent = NULL;
+	int				error;
+
+	list_move(&dfp->dfp_list, &tp->t_dfops);
+	error = xfs_defer_finish_one(tp, dfp);
+	if (error == -EAGAIN)
+		return 0;
+	return error;
 }
 
 /*
diff --git a/fs/xfs/xfs_refcount_item.c b/fs/xfs/xfs_refcount_item.c
index 4ffc34e6f0a0..f561ca73c784 100644
--- a/fs/xfs/xfs_refcount_item.c
+++ b/fs/xfs/xfs_refcount_item.c
@@ -481,6 +481,7 @@ xfs_cui_recover_work(
 	ri->ri_type = pmap->pe_flags & XFS_REFCOUNT_EXTENT_TYPE_MASK;
 	ri->ri_startblock = pmap->pe_startblock;
 	ri->ri_blockcount = pmap->pe_len;
+	xfs_refcount_update_get_group(mp, ri);
 
 	xfs_defer_add_item(dfp, &ri->ri_list);
 }
@@ -497,12 +498,8 @@ xfs_cui_item_recover(
 	struct xfs_trans_res		resv;
 	struct xfs_log_item		*lip = dfp->dfp_intent;
 	struct xfs_cui_log_item		*cuip = CUI_ITEM(lip);
-	struct xfs_cud_log_item		*cudp;
 	struct xfs_trans		*tp;
-	struct xfs_btree_cur		*rcur = NULL;
 	struct xfs_mount		*mp = lip->li_log->l_mp;
-	struct xfs_refcount_intent	*fake;
-	bool				requeue_only = false;
 	int				i;
 	int				error = 0;
 
@@ -541,59 +538,17 @@ xfs_cui_item_recover(
 	if (error)
 		return error;
 
-	cudp = xfs_trans_get_cud(tp, cuip);
-	xlog_recover_transfer_intent(tp, dfp);
-
-	list_for_each_entry(fake, &dfp->dfp_work, ri_list) {
-		if (!requeue_only) {
-			xfs_refcount_update_get_group(mp, fake);
-			error = xfs_trans_log_finish_refcount_update(tp, cudp,
-					fake, &rcur);
-			xfs_refcount_update_put_group(fake);
-		}
-		if (error == -EFSCORRUPTED)
-			XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp,
-					&cuip->cui_format,
-					sizeof(cuip->cui_format));
-		if (error)
-			goto abort_error;
-
-		/* Requeue what we didn't finish. */
-		if (fake->ri_blockcount > 0) {
-			struct xfs_bmbt_irec	irec = {
-				.br_startblock	= fake->ri_startblock,
-				.br_blockcount	= fake->ri_blockcount,
-			};
-
-			switch (fake->ri_type) {
-			case XFS_REFCOUNT_INCREASE:
-				xfs_refcount_increase_extent(tp, &irec);
-				break;
-			case XFS_REFCOUNT_DECREASE:
-				xfs_refcount_decrease_extent(tp, &irec);
-				break;
-			case XFS_REFCOUNT_ALLOC_COW:
-				xfs_refcount_alloc_cow_extent(tp,
-						irec.br_startblock,
-						irec.br_blockcount);
-				break;
-			case XFS_REFCOUNT_FREE_COW:
-				xfs_refcount_free_cow_extent(tp,
-						irec.br_startblock,
-						irec.br_blockcount);
-				break;
-			default:
-				ASSERT(0);
-			}
-			requeue_only = true;
-		}
-	}
+	error = xlog_recover_finish_intent(tp, dfp);
+	if (error == -EFSCORRUPTED)
+		XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp,
+				&cuip->cui_format,
+				sizeof(cuip->cui_format));
+	if (error)
+		goto abort_error;
 
-	xfs_refcount_finish_one_cleanup(tp, rcur, error);
 	return xfs_defer_ops_capture_and_commit(tp, capture_list);
 
 abort_error:
-	xfs_refcount_finish_one_cleanup(tp, rcur, error);
 	xfs_trans_cancel(tp);
 	return error;
 }
diff --git a/fs/xfs/xfs_rmap_item.c b/fs/xfs/xfs_rmap_item.c
index 9fb3ae4bfd59..23e736179894 100644
--- a/fs/xfs/xfs_rmap_item.c
+++ b/fs/xfs/xfs_rmap_item.c
@@ -546,6 +546,7 @@ xfs_rui_recover_work(
 	ri->ri_bmap.br_blockcount = map->me_len;
 	ri->ri_bmap.br_state = (map->me_flags & XFS_RMAP_EXTENT_UNWRITTEN) ?
 			XFS_EXT_UNWRITTEN : XFS_EXT_NORM;
+	xfs_rmap_update_get_group(mp, ri);
 
 	xfs_defer_add_item(dfp, &ri->ri_list);
 }
@@ -562,11 +563,8 @@ xfs_rui_item_recover(
 	struct xfs_trans_res		resv;
 	struct xfs_log_item		*lip = dfp->dfp_intent;
 	struct xfs_rui_log_item		*ruip = RUI_ITEM(lip);
-	struct xfs_rud_log_item		*rudp;
 	struct xfs_trans		*tp;
-	struct xfs_btree_cur		*rcur = NULL;
 	struct xfs_mount		*mp = lip->li_log->l_mp;
-	struct xfs_rmap_intent		*fake;
 	int				i;
 	int				error = 0;
 
@@ -593,28 +591,17 @@ xfs_rui_item_recover(
 	if (error)
 		return error;
 
-	rudp = xfs_trans_get_rud(tp, ruip);
-	xlog_recover_transfer_intent(tp, dfp);
-
-	list_for_each_entry(fake, &dfp->dfp_work, ri_list) {
-		xfs_rmap_update_get_group(mp, fake);
-		error = xfs_trans_log_finish_rmap_update(tp, rudp, fake,
-				&rcur);
-		if (error == -EFSCORRUPTED)
-			XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp,
-					&ruip->rui_format,
-					sizeof(ruip->rui_format));
-		xfs_rmap_update_put_group(fake);
-		if (error)
-			goto abort_error;
-
-	}
+	error = xlog_recover_finish_intent(tp, dfp);
+	if (error == -EFSCORRUPTED)
+		XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp,
+				&ruip->rui_format,
+				sizeof(ruip->rui_format));
+	if (error)
+		goto abort_error;
 
-	xfs_rmap_finish_one_cleanup(tp, rcur, error);
 	return xfs_defer_ops_capture_and_commit(tp, capture_list);
 
 abort_error:
-	xfs_rmap_finish_one_cleanup(tp, rcur, error);
 	xfs_trans_cancel(tp);
 	return error;
 }
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 6.6 4/4] xfs: move ->iop_recover to xfs_defer_op_type
  2025-03-22 14:34 [PATCH 6.6 0/4] fix kernel crash for xfs/235 test Fedor Pchelkin
                   ` (2 preceding siblings ...)
  2025-03-22 14:34 ` [PATCH 6.6 3/4] xfs: use xfs_defer_finish_one to finish recovered work items Fedor Pchelkin
@ 2025-03-22 14:34 ` Fedor Pchelkin
  2026-06-11 18:39 ` [PATCH 6.6 0/4] fix kernel crash for xfs/235 test Hamza Mahfooz
  4 siblings, 0 replies; 21+ messages in thread
From: Fedor Pchelkin @ 2025-03-22 14:34 UTC (permalink / raw)
  To: Leah Rumancik
  Cc: Fedor Pchelkin, stable, xfs-stable, Darrick J. Wong,
	Christoph Hellwig, Catherine Hoang, Greg Kroah-Hartman,
	lvc-project

From: Darrick J. Wong <djwong@kernel.org>

commit db7ccc0bac2add5a41b66578e376b49328fc99d0 upstream.

Finish off the series by moving the intent item recovery function
pointer to the xfs_defer_op_type struct, since this is really a deferred
work function now.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Fedor Pchelkin <pchelkin@ispras.ru>
---
 fs/xfs/libxfs/xfs_defer.c       | 17 +++++++++++++
 fs/xfs/libxfs/xfs_defer.h       |  4 +++
 fs/xfs/libxfs/xfs_log_recover.h |  2 ++
 fs/xfs/xfs_attr_item.c          | 21 +++++++++-------
 fs/xfs/xfs_bmap_item.c          | 39 ++++++++++++++++--------------
 fs/xfs/xfs_extfree_item.c       | 43 +++++++++++++++++----------------
 fs/xfs/xfs_log_recover.c        | 19 ++++++---------
 fs/xfs/xfs_refcount_item.c      | 24 +++++++++---------
 fs/xfs/xfs_rmap_item.c          | 24 +++++++++---------
 fs/xfs/xfs_trans.h              |  4 ---
 10 files changed, 109 insertions(+), 88 deletions(-)

diff --git a/fs/xfs/libxfs/xfs_defer.c b/fs/xfs/libxfs/xfs_defer.c
index eb262ea06122..dd565e4e3daf 100644
--- a/fs/xfs/libxfs/xfs_defer.c
+++ b/fs/xfs/libxfs/xfs_defer.c
@@ -713,6 +713,23 @@ xfs_defer_cancel_recovery(
 	xfs_defer_pending_cancel_work(mp, dfp);
 }
 
+/* Replay the deferred work item created from a recovered log intent item. */
+int
+xfs_defer_finish_recovery(
+	struct xfs_mount		*mp,
+	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);
+	if (error)
+		trace_xlog_intent_recovery_failed(mp, error,
+				ops->recover_work);
+	return error;
+}
+
 /*
  * Move deferred ops from one transaction to another and reset the source to
  * initial state. This is primarily used to carry state forward across
diff --git a/fs/xfs/libxfs/xfs_defer.h b/fs/xfs/libxfs/xfs_defer.h
index c1a648e99174..ef86a7f9b059 100644
--- a/fs/xfs/libxfs/xfs_defer.h
+++ b/fs/xfs/libxfs/xfs_defer.h
@@ -57,6 +57,8 @@ struct xfs_defer_op_type {
 	void (*finish_cleanup)(struct xfs_trans *tp,
 			struct xfs_btree_cur *state, int error);
 	void (*cancel_item)(struct list_head *item);
+	int (*recover_work)(struct xfs_defer_pending *dfp,
+			    struct list_head *capture_list);
 	unsigned int		max_items;
 };
 
@@ -130,6 +132,8 @@ void xfs_defer_start_recovery(struct xfs_log_item *lip,
 		enum xfs_defer_ops_type dfp_type, struct list_head *r_dfops);
 void xfs_defer_cancel_recovery(struct xfs_mount *mp,
 		struct xfs_defer_pending *dfp);
+int xfs_defer_finish_recovery(struct xfs_mount *mp,
+		struct xfs_defer_pending *dfp, struct list_head *capture_list);
 
 static inline void
 xfs_defer_add_item(
diff --git a/fs/xfs/libxfs/xfs_log_recover.h b/fs/xfs/libxfs/xfs_log_recover.h
index 52162a17fc5e..c8e5d912895b 100644
--- a/fs/xfs/libxfs/xfs_log_recover.h
+++ b/fs/xfs/libxfs/xfs_log_recover.h
@@ -153,6 +153,8 @@ xlog_recover_resv(const struct xfs_trans_res *r)
 	return ret;
 }
 
+struct xfs_defer_pending;
+
 void xlog_recover_intent_item(struct xlog *log, struct xfs_log_item *lip,
 		xfs_lsn_t lsn, unsigned int dfp_type);
 int xlog_recover_finish_intent(struct xfs_trans *tp,
diff --git a/fs/xfs/xfs_attr_item.c b/fs/xfs/xfs_attr_item.c
index 33e31d42d214..d539abdb54c2 100644
--- a/fs/xfs/xfs_attr_item.c
+++ b/fs/xfs/xfs_attr_item.c
@@ -551,12 +551,17 @@ xfs_attri_recover_work(
 	struct xfs_mount		*mp,
 	struct xfs_defer_pending	*dfp,
 	struct xfs_attri_log_format	*attrp,
-	struct xfs_inode		*ip,
+	struct xfs_inode		**ipp,
 	struct xfs_attri_log_nameval	*nv)
 {
 	struct xfs_attr_intent		*attr;
 	struct xfs_da_args		*args;
 	int				local;
+	int				error;
+
+	error = xlog_recover_iget(mp,  attrp->alfi_ino, ipp);
+	if (error)
+		return ERR_PTR(error);
 
 	attr = kmem_zalloc(sizeof(struct xfs_attr_intent) +
 			   sizeof(struct xfs_da_args), KM_NOFS);
@@ -574,7 +579,7 @@ xfs_attri_recover_work(
 	attr->xattri_nameval = xfs_attri_log_nameval_get(nv);
 	ASSERT(attr->xattri_nameval);
 
-	args->dp = ip;
+	args->dp = *ipp;
 	args->geo = mp->m_attr_geo;
 	args->whichfork = XFS_ATTR_FORK;
 	args->name = nv->name.i_addr;
@@ -609,7 +614,7 @@ xfs_attri_recover_work(
  * delete the attr that it describes.
  */
 STATIC int
-xfs_attri_item_recover(
+xfs_attr_recover_work(
 	struct xfs_defer_pending	*dfp,
 	struct list_head		*capture_list)
 {
@@ -636,11 +641,9 @@ xfs_attri_item_recover(
 				nv->name.i_len))
 		return -EFSCORRUPTED;
 
-	error = xlog_recover_iget(mp,  attrp->alfi_ino, &ip);
-	if (error)
-		return error;
-
-	attr = xfs_attri_recover_work(mp, dfp, attrp, ip, nv);
+	attr = xfs_attri_recover_work(mp, dfp, attrp, &ip, nv);
+	if (IS_ERR(attr))
+		return PTR_ERR(attr);
 	args = attr->xattri_da_args;
 
 	xfs_init_attr_trans(args, &resv, &total);
@@ -890,6 +893,7 @@ const struct xfs_defer_op_type xfs_attr_defer_type = {
 	.create_done	= xfs_attr_create_done,
 	.finish_item	= xfs_attr_finish_item,
 	.cancel_item	= xfs_attr_cancel_item,
+	.recover_work	= xfs_attr_recover_work,
 };
 
 /*
@@ -926,7 +930,6 @@ static const struct xfs_item_ops xfs_attri_item_ops = {
 	.iop_format	= xfs_attri_item_format,
 	.iop_unpin	= xfs_attri_item_unpin,
 	.iop_release    = xfs_attri_item_release,
-	.iop_recover	= xfs_attri_item_recover,
 	.iop_match	= xfs_attri_item_match,
 	.iop_relog	= xfs_attri_item_relog,
 };
diff --git a/fs/xfs/xfs_bmap_item.c b/fs/xfs/xfs_bmap_item.c
index 89f2d9e89607..bd8f6fe22b40 100644
--- a/fs/xfs/xfs_bmap_item.c
+++ b/fs/xfs/xfs_bmap_item.c
@@ -437,15 +437,6 @@ xfs_bmap_update_cancel_item(
 	kmem_cache_free(xfs_bmap_intent_cache, bi);
 }
 
-const struct xfs_defer_op_type xfs_bmap_update_defer_type = {
-	.max_items	= XFS_BUI_MAX_FAST_EXTENTS,
-	.create_intent	= xfs_bmap_update_create_intent,
-	.abort_intent	= xfs_bmap_update_abort_intent,
-	.create_done	= xfs_bmap_update_create_done,
-	.finish_item	= xfs_bmap_update_finish_item,
-	.cancel_item	= xfs_bmap_update_cancel_item,
-};
-
 /* Is this recovered BUI ok? */
 static inline bool
 xfs_bui_validate(
@@ -484,9 +475,15 @@ static inline struct xfs_bmap_intent *
 xfs_bui_recover_work(
 	struct xfs_mount		*mp,
 	struct xfs_defer_pending	*dfp,
+	struct xfs_inode		**ipp,
 	struct xfs_map_extent		*map)
 {
 	struct xfs_bmap_intent		*bi;
+	int				error;
+
+	error = xlog_recover_iget(mp, map->me_owner, ipp);
+	if (error)
+		return ERR_PTR(error);
 
 	bi = kmem_cache_zalloc(xfs_bmap_intent_cache, GFP_NOFS | __GFP_NOFAIL);
 	bi->bi_whichfork = (map->me_flags & XFS_BMAP_EXTENT_ATTR_FORK) ?
@@ -497,6 +494,7 @@ xfs_bui_recover_work(
 	bi->bi_bmap.br_blockcount = map->me_len;
 	bi->bi_bmap.br_state = (map->me_flags & XFS_BMAP_EXTENT_UNWRITTEN) ?
 			XFS_EXT_UNWRITTEN : XFS_EXT_NORM;
+	bi->bi_owner = *ipp;
 	xfs_bmap_update_get_group(mp, bi);
 
 	xfs_defer_add_item(dfp, &bi->bi_list);
@@ -508,7 +506,7 @@ xfs_bui_recover_work(
  * We need to update some inode's bmbt.
  */
 STATIC int
-xfs_bui_item_recover(
+xfs_bmap_recover_work(
 	struct xfs_defer_pending	*dfp,
 	struct list_head		*capture_list)
 {
@@ -530,11 +528,9 @@ xfs_bui_item_recover(
 	}
 
 	map = &buip->bui_format.bui_extents[0];
-	work = xfs_bui_recover_work(mp, dfp, map);
-
-	error = xlog_recover_iget(mp, map->me_owner, &ip);
-	if (error)
-		return error;
+	work = xfs_bui_recover_work(mp, dfp, &ip, map);
+	if (IS_ERR(work))
+		return PTR_ERR(work);
 
 	/* Allocate transaction and do the work. */
 	resv = xlog_recover_resv(&M_RES(mp)->tr_itruncate);
@@ -557,8 +553,6 @@ xfs_bui_item_recover(
 	if (error)
 		goto err_cancel;
 
-	work->bi_owner = ip;
-
 	error = xlog_recover_finish_intent(tp, dfp);
 	if (error == -EFSCORRUPTED)
 		XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp,
@@ -587,6 +581,16 @@ xfs_bui_item_recover(
 	return error;
 }
 
+const struct xfs_defer_op_type xfs_bmap_update_defer_type = {
+	.max_items	= XFS_BUI_MAX_FAST_EXTENTS,
+	.create_intent	= xfs_bmap_update_create_intent,
+	.abort_intent	= xfs_bmap_update_abort_intent,
+	.create_done	= xfs_bmap_update_create_done,
+	.finish_item	= xfs_bmap_update_finish_item,
+	.cancel_item	= xfs_bmap_update_cancel_item,
+	.recover_work	= xfs_bmap_recover_work,
+};
+
 STATIC bool
 xfs_bui_item_match(
 	struct xfs_log_item	*lip,
@@ -627,7 +631,6 @@ static const struct xfs_item_ops xfs_bui_item_ops = {
 	.iop_format	= xfs_bui_item_format,
 	.iop_unpin	= xfs_bui_item_unpin,
 	.iop_release	= xfs_bui_item_release,
-	.iop_recover	= xfs_bui_item_recover,
 	.iop_match	= xfs_bui_item_match,
 	.iop_relog	= xfs_bui_item_relog,
 };
diff --git a/fs/xfs/xfs_extfree_item.c b/fs/xfs/xfs_extfree_item.c
index 6a434ade486c..49e96ffd64e0 100644
--- a/fs/xfs/xfs_extfree_item.c
+++ b/fs/xfs/xfs_extfree_item.c
@@ -567,15 +567,6 @@ xfs_extent_free_cancel_item(
 	kmem_cache_free(xfs_extfree_item_cache, xefi);
 }
 
-const struct xfs_defer_op_type xfs_extent_free_defer_type = {
-	.max_items	= XFS_EFI_MAX_FAST_EXTENTS,
-	.create_intent	= xfs_extent_free_create_intent,
-	.abort_intent	= xfs_extent_free_abort_intent,
-	.create_done	= xfs_extent_free_create_done,
-	.finish_item	= xfs_extent_free_finish_item,
-	.cancel_item	= xfs_extent_free_cancel_item,
-};
-
 /*
  * AGFL blocks are accounted differently in the reserve pools and are not
  * inserted into the busy extent list.
@@ -632,16 +623,6 @@ xfs_agfl_free_finish_item(
 	return error;
 }
 
-/* sub-type with special handling for AGFL deferred frees */
-const struct xfs_defer_op_type xfs_agfl_free_defer_type = {
-	.max_items	= XFS_EFI_MAX_FAST_EXTENTS,
-	.create_intent	= xfs_extent_free_create_intent,
-	.abort_intent	= xfs_extent_free_abort_intent,
-	.create_done	= xfs_extent_free_create_done,
-	.finish_item	= xfs_agfl_free_finish_item,
-	.cancel_item	= xfs_extent_free_cancel_item,
-};
-
 /* Is this recovered EFI ok? */
 static inline bool
 xfs_efi_validate_ext(
@@ -675,7 +656,7 @@ xfs_efi_recover_work(
  * the log.  We need to free the extents that it describes.
  */
 STATIC int
-xfs_efi_item_recover(
+xfs_extent_free_recover_work(
 	struct xfs_defer_pending	*dfp,
 	struct list_head		*capture_list)
 {
@@ -724,6 +705,27 @@ xfs_efi_item_recover(
 	return error;
 }
 
+const struct xfs_defer_op_type xfs_extent_free_defer_type = {
+	.max_items	= XFS_EFI_MAX_FAST_EXTENTS,
+	.create_intent	= xfs_extent_free_create_intent,
+	.abort_intent	= xfs_extent_free_abort_intent,
+	.create_done	= xfs_extent_free_create_done,
+	.finish_item	= xfs_extent_free_finish_item,
+	.cancel_item	= xfs_extent_free_cancel_item,
+	.recover_work	= xfs_extent_free_recover_work,
+};
+
+/* sub-type with special handling for AGFL deferred frees */
+const struct xfs_defer_op_type xfs_agfl_free_defer_type = {
+	.max_items	= XFS_EFI_MAX_FAST_EXTENTS,
+	.create_intent	= xfs_extent_free_create_intent,
+	.abort_intent	= xfs_extent_free_abort_intent,
+	.create_done	= xfs_extent_free_create_done,
+	.finish_item	= xfs_agfl_free_finish_item,
+	.cancel_item	= xfs_extent_free_cancel_item,
+	.recover_work	= xfs_extent_free_recover_work,
+};
+
 STATIC bool
 xfs_efi_item_match(
 	struct xfs_log_item	*lip,
@@ -766,7 +768,6 @@ static const struct xfs_item_ops xfs_efi_item_ops = {
 	.iop_format	= xfs_efi_item_format,
 	.iop_unpin	= xfs_efi_item_unpin,
 	.iop_release	= xfs_efi_item_release,
-	.iop_recover	= xfs_efi_item_recover,
 	.iop_match	= xfs_efi_item_match,
 	.iop_relog	= xfs_efi_item_relog,
 };
diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c
index 92bf97a6e108..3f343ba36b09 100644
--- a/fs/xfs/xfs_log_recover.c
+++ b/fs/xfs/xfs_log_recover.c
@@ -2565,17 +2565,14 @@ xlog_recover_process_intents(
 #endif
 
 	list_for_each_entry_safe(dfp, n, &log->r_dfops, dfp_list) {
-		struct xfs_log_item	*lip = dfp->dfp_intent;
-		const struct xfs_item_ops *ops = lip->li_ops;
-
-		ASSERT(xlog_item_is_intent(lip));
+		ASSERT(xlog_item_is_intent(dfp->dfp_intent));
 
 		/*
 		 * We should never see a redo item with a LSN higher than
 		 * the last transaction we found in the log at the start
 		 * of recovery.
 		 */
-		ASSERT(XFS_LSN_CMP(last_lsn, lip->li_lsn) >= 0);
+		ASSERT(XFS_LSN_CMP(last_lsn, dfp->dfp_intent->li_lsn) >= 0);
 
 		/*
 		 * NOTE: If your intent processing routine can create more
@@ -2584,15 +2581,13 @@ xlog_recover_process_intents(
 		 * replayed in the wrong order!
 		 *
 		 * The recovery function can free the log item, so we must not
-		 * access lip after it returns.  It must dispose of @dfp if it
-		 * returns 0.
+		 * access dfp->dfp_intent after it returns.  It must dispose of
+		 * @dfp if it returns 0.
 		 */
-		error = ops->iop_recover(dfp, &capture_list);
-		if (error) {
-			trace_xlog_intent_recovery_failed(log->l_mp, error,
-					ops->iop_recover);
+		error = xfs_defer_finish_recovery(log->l_mp, dfp,
+				&capture_list);
+		if (error)
 			break;
-		}
 	}
 	if (error)
 		goto err;
diff --git a/fs/xfs/xfs_refcount_item.c b/fs/xfs/xfs_refcount_item.c
index f561ca73c784..48f1a38b272e 100644
--- a/fs/xfs/xfs_refcount_item.c
+++ b/fs/xfs/xfs_refcount_item.c
@@ -433,16 +433,6 @@ xfs_refcount_update_cancel_item(
 	kmem_cache_free(xfs_refcount_intent_cache, ri);
 }
 
-const struct xfs_defer_op_type xfs_refcount_update_defer_type = {
-	.max_items	= XFS_CUI_MAX_FAST_EXTENTS,
-	.create_intent	= xfs_refcount_update_create_intent,
-	.abort_intent	= xfs_refcount_update_abort_intent,
-	.create_done	= xfs_refcount_update_create_done,
-	.finish_item	= xfs_refcount_update_finish_item,
-	.finish_cleanup = xfs_refcount_finish_one_cleanup,
-	.cancel_item	= xfs_refcount_update_cancel_item,
-};
-
 /* Is this recovered CUI ok? */
 static inline bool
 xfs_cui_validate_phys(
@@ -491,7 +481,7 @@ xfs_cui_recover_work(
  * We need to update the refcountbt.
  */
 STATIC int
-xfs_cui_item_recover(
+xfs_refcount_recover_work(
 	struct xfs_defer_pending	*dfp,
 	struct list_head		*capture_list)
 {
@@ -553,6 +543,17 @@ xfs_cui_item_recover(
 	return error;
 }
 
+const struct xfs_defer_op_type xfs_refcount_update_defer_type = {
+	.max_items	= XFS_CUI_MAX_FAST_EXTENTS,
+	.create_intent	= xfs_refcount_update_create_intent,
+	.abort_intent	= xfs_refcount_update_abort_intent,
+	.create_done	= xfs_refcount_update_create_done,
+	.finish_item	= xfs_refcount_update_finish_item,
+	.finish_cleanup = xfs_refcount_finish_one_cleanup,
+	.cancel_item	= xfs_refcount_update_cancel_item,
+	.recover_work	= xfs_refcount_recover_work,
+};
+
 STATIC bool
 xfs_cui_item_match(
 	struct xfs_log_item	*lip,
@@ -593,7 +594,6 @@ static const struct xfs_item_ops xfs_cui_item_ops = {
 	.iop_format	= xfs_cui_item_format,
 	.iop_unpin	= xfs_cui_item_unpin,
 	.iop_release	= xfs_cui_item_release,
-	.iop_recover	= xfs_cui_item_recover,
 	.iop_match	= xfs_cui_item_match,
 	.iop_relog	= xfs_cui_item_relog,
 };
diff --git a/fs/xfs/xfs_rmap_item.c b/fs/xfs/xfs_rmap_item.c
index 23e736179894..23684bc2ab85 100644
--- a/fs/xfs/xfs_rmap_item.c
+++ b/fs/xfs/xfs_rmap_item.c
@@ -452,16 +452,6 @@ xfs_rmap_update_cancel_item(
 	kmem_cache_free(xfs_rmap_intent_cache, ri);
 }
 
-const struct xfs_defer_op_type xfs_rmap_update_defer_type = {
-	.max_items	= XFS_RUI_MAX_FAST_EXTENTS,
-	.create_intent	= xfs_rmap_update_create_intent,
-	.abort_intent	= xfs_rmap_update_abort_intent,
-	.create_done	= xfs_rmap_update_create_done,
-	.finish_item	= xfs_rmap_update_finish_item,
-	.finish_cleanup = xfs_rmap_finish_one_cleanup,
-	.cancel_item	= xfs_rmap_update_cancel_item,
-};
-
 /* Is this recovered RUI ok? */
 static inline bool
 xfs_rui_validate_map(
@@ -556,7 +546,7 @@ xfs_rui_recover_work(
  * We need to update the rmapbt.
  */
 STATIC int
-xfs_rui_item_recover(
+xfs_rmap_recover_work(
 	struct xfs_defer_pending	*dfp,
 	struct list_head		*capture_list)
 {
@@ -606,6 +596,17 @@ xfs_rui_item_recover(
 	return error;
 }
 
+const struct xfs_defer_op_type xfs_rmap_update_defer_type = {
+	.max_items	= XFS_RUI_MAX_FAST_EXTENTS,
+	.create_intent	= xfs_rmap_update_create_intent,
+	.abort_intent	= xfs_rmap_update_abort_intent,
+	.create_done	= xfs_rmap_update_create_done,
+	.finish_item	= xfs_rmap_update_finish_item,
+	.finish_cleanup = xfs_rmap_finish_one_cleanup,
+	.cancel_item	= xfs_rmap_update_cancel_item,
+	.recover_work	= xfs_rmap_recover_work,
+};
+
 STATIC bool
 xfs_rui_item_match(
 	struct xfs_log_item	*lip,
@@ -646,7 +647,6 @@ static const struct xfs_item_ops xfs_rui_item_ops = {
 	.iop_format	= xfs_rui_item_format,
 	.iop_unpin	= xfs_rui_item_unpin,
 	.iop_release	= xfs_rui_item_release,
-	.iop_recover	= xfs_rui_item_recover,
 	.iop_match	= xfs_rui_item_match,
 	.iop_relog	= xfs_rui_item_relog,
 };
diff --git a/fs/xfs/xfs_trans.h b/fs/xfs/xfs_trans.h
index ead65f5f8dc3..ae32ffe9a1b1 100644
--- a/fs/xfs/xfs_trans.h
+++ b/fs/xfs/xfs_trans.h
@@ -66,8 +66,6 @@ struct xfs_log_item {
 	{ (1u << XFS_LI_DIRTY),		"DIRTY" }, \
 	{ (1u << XFS_LI_WHITEOUT),	"WHITEOUT" }
 
-struct xfs_defer_pending;
-
 struct xfs_item_ops {
 	unsigned flags;
 	void (*iop_size)(struct xfs_log_item *, int *, int *);
@@ -80,8 +78,6 @@ struct xfs_item_ops {
 	xfs_lsn_t (*iop_committed)(struct xfs_log_item *, xfs_lsn_t);
 	uint (*iop_push)(struct xfs_log_item *, struct list_head *);
 	void (*iop_release)(struct xfs_log_item *);
-	int (*iop_recover)(struct xfs_defer_pending *dfp,
-			   struct list_head *capture_list);
 	bool (*iop_match)(struct xfs_log_item *item, uint64_t id);
 	struct xfs_log_item *(*iop_relog)(struct xfs_log_item *intent,
 			struct xfs_trans *tp);
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH 6.6 0/4] fix kernel crash for xfs/235 test
  2025-03-22 14:34 [PATCH 6.6 0/4] fix kernel crash for xfs/235 test Fedor Pchelkin
                   ` (3 preceding siblings ...)
  2025-03-22 14:34 ` [PATCH 6.6 4/4] xfs: move ->iop_recover to xfs_defer_op_type Fedor Pchelkin
@ 2026-06-11 18:39 ` Hamza Mahfooz
  2026-06-13  0:20   ` Sasha Levin
  4 siblings, 1 reply; 21+ messages in thread
From: Hamza Mahfooz @ 2026-06-11 18:39 UTC (permalink / raw)
  To: Fedor Pchelkin
  Cc: Leah Rumancik, stable, xfs-stable, Darrick J. Wong,
	Christoph Hellwig, Catherine Hoang, Greg Kroah-Hartman,
	lvc-project

On Sat, Mar 22, 2025 at 05:34:11PM +0300, Fedor Pchelkin wrote:
> Incomplete backport of series "xfs: log intent item recovery should
> reconstruct defer work state" [1] leads to a kernel crash during the
> xfs/235 test execution on top of 6.6.y stable.
> 
> Tested (briefly) with my local xfstests setup. Additional testing would
> be much appreciated.

Any idea what happened to this series? It resolves an issue that I've
hit in a production environment FWIW.

Series is:

Tested-by: Hamza Mahfooz <hamzamahfooz@linux.microsoft.com>

> 
> [1]: https://lore.kernel.org/linux-xfs/170191741007.1195961.10092536809136830257.stg-ugh@frogsfrogsfrogs/
> 
>  XFS (loop1): Corruption of in-memory data (0x8) detected at xfs_trans_cancel+0x4d9/0x610 (fs/xfs/xfs_trans.c:1097).  Shutting down filesystem.
>  XFS (loop1): Please unmount the filesystem and rectify the problem(s)
>  general protection fault, probably for non-canonical address 0xdffffc000000000c: 0000 [#1] PREEMPT SMP KASAN NOPTI
>  KASAN: null-ptr-deref in range [0x0000000000000060-0x0000000000000067]
>  CPU: 1 PID: 2011 Comm: mount Not tainted 6.6.84-rc2+ #12
>  Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-3.fc41 04/01/2014
>  RIP: 0010:xlog_recover_cancel_intents+0xad/0x1b0
>  Call Trace:
>   <TASK>
>   xlog_recover_finish+0x7f6/0x9a0
>   xfs_log_mount_finish+0x386/0x650
>   xfs_mountfs+0x1405/0x1fb0
>   xfs_fs_fill_super+0x11d6/0x1ca0
>   get_tree_bdev+0x3b4/0x650
>   vfs_get_tree+0x92/0x370
>   path_mount+0x13b9/0x1f10
>   __x64_sys_mount+0x286/0x310
>   do_syscall_64+0x39/0x90
>   entry_SYSCALL_64_after_hwframe+0x78/0xe2
>   </TASK>
>  Modules linked in:
>  ---[ end trace 0000000000000000 ]---
>  RIP: 0010:xlog_recover_cancel_intents+0xad/0x1b0
> 
> 
> Link to the original bug report [2].
> 
> [2]: https://lore.kernel.org/stable/6pxyzwujo52p4bp2otliyssjcvsfydd6ju32eusdlyhzhpjh4q@eze6eh7rtidg/
> 
> Found by Linux Verification Center (linuxtesting.org).
> 
> Darrick J. Wong (4):
>   xfs: recreate work items when recovering intent items
>   xfs: dump the recovered xattri log item if corruption happens
>   xfs: use xfs_defer_finish_one to finish recovered work items
>   xfs: move ->iop_recover to xfs_defer_op_type
> 
>  fs/xfs/libxfs/xfs_defer.c       |  22 ++++-
>  fs/xfs/libxfs/xfs_defer.h       |  14 +++
>  fs/xfs/libxfs/xfs_log_recover.h |   4 +-
>  fs/xfs/xfs_attr_item.c          | 115 ++++++++++++------------
>  fs/xfs/xfs_bmap_item.c          |  92 ++++++++++---------
>  fs/xfs/xfs_extfree_item.c       | 117 +++++++++++--------------
>  fs/xfs/xfs_log_recover.c        |  37 ++++----
>  fs/xfs/xfs_refcount_item.c      | 127 +++++++++------------------
>  fs/xfs/xfs_rmap_item.c          | 151 ++++++++++++++++----------------
>  fs/xfs/xfs_trans.h              |   4 -
>  10 files changed, 326 insertions(+), 357 deletions(-)
> 
> -- 
> 2.49.0
> 

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 6.6 0/4] fix kernel crash for xfs/235 test
  2026-06-11 18:39 ` [PATCH 6.6 0/4] fix kernel crash for xfs/235 test Hamza Mahfooz
@ 2026-06-13  0:20   ` Sasha Levin
  2026-06-15 19:19     ` Hamza Mahfooz
  0 siblings, 1 reply; 21+ messages in thread
From: Sasha Levin @ 2026-06-13  0:20 UTC (permalink / raw)
  To: Fedor Pchelkin
  Cc: Sasha Levin, Leah Rumancik, stable, xfs-stable, Darrick J. Wong,
	Christoph Hellwig, Catherine Hoang, Greg Kroah-Hartman,
	lvc-project, Hamza Mahfooz

On Wed, Jun 11, 2026 at 02:39:03PM -0400, Hamza Mahfooz wrote:
> Any idea what happened to this series? It resolves an issue that I've
> hit in a production environment FWIW.
>
> Series is:
>
> Tested-by: Hamza Mahfooz <hamzamahfooz@linux.microsoft.com>

Thanks for the nudge, and thanks Fedor for putting the backport together.

We generally don't take XFS backports without a maintainer signing off on them,
so right now we're waiting for one to do so :)

--
Thanks,
Sasha

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 6.6 0/4] fix kernel crash for xfs/235 test
  2026-06-13  0:20   ` Sasha Levin
@ 2026-06-15 19:19     ` Hamza Mahfooz
  2026-06-16  7:13       ` Carlos Maiolino
  0 siblings, 1 reply; 21+ messages in thread
From: Hamza Mahfooz @ 2026-06-15 19:19 UTC (permalink / raw)
  To: Sasha Levin
  Cc: Fedor Pchelkin, Leah Rumancik, stable, xfs-stable,
	Darrick J. Wong, Christoph Hellwig, Catherine Hoang,
	Greg Kroah-Hartman, lvc-project, Carlos Maiolino

Cc: Carlos Maiolino <cem@kernel.org>

On Fri, Jun 12, 2026 at 08:20:34PM -0400, Sasha Levin wrote:
> On Wed, Jun 11, 2026 at 02:39:03PM -0400, Hamza Mahfooz wrote:
> > Any idea what happened to this series? It resolves an issue that I've
> > hit in a production environment FWIW.
> >
> > Series is:
> >
> > Tested-by: Hamza Mahfooz <hamzamahfooz@linux.microsoft.com>
> 
> Thanks for the nudge, and thanks Fedor for putting the backport together.
> 
> We generally don't take XFS backports without a maintainer signing off on them,
> so right now we're waiting for one to do so :)
> 
> --
> Thanks,
> Sasha

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 6.6 0/4] fix kernel crash for xfs/235 test
  2026-06-15 19:19     ` Hamza Mahfooz
@ 2026-06-16  7:13       ` Carlos Maiolino
  2026-06-16 13:31         ` Hamza Mahfooz
  0 siblings, 1 reply; 21+ messages in thread
From: Carlos Maiolino @ 2026-06-16  7:13 UTC (permalink / raw)
  To: Hamza Mahfooz
  Cc: Sasha Levin, Fedor Pchelkin, Leah Rumancik, stable, xfs-stable,
	Darrick J. Wong, Christoph Hellwig, Catherine Hoang,
	Greg Kroah-Hartman, lvc-project

On Mon, Jun 15, 2026 at 03:19:24PM -0400, Hamza Mahfooz wrote:
> Cc: Carlos Maiolino <cem@kernel.org>

FWIW I don't maintain the stable trees I really don't have time for
that. Darrick/Leah have been doing a best effort case for that, but
again, this is mostly a best effort so we shouldn't expect them to be
looking/picking up every single possible patch suggested for stable.

> 
> On Fri, Jun 12, 2026 at 08:20:34PM -0400, Sasha Levin wrote:
> > On Wed, Jun 11, 2026 at 02:39:03PM -0400, Hamza Mahfooz wrote:
> > > Any idea what happened to this series? It resolves an issue that I've
> > > hit in a production environment FWIW.
> > >
> > > Series is:
> > >
> > > Tested-by: Hamza Mahfooz <hamzamahfooz@linux.microsoft.com>
> > 
> > Thanks for the nudge, and thanks Fedor for putting the backport together.
> > 
> > We generally don't take XFS backports without a maintainer signing off on them,
> > so right now we're waiting for one to do so :)
> > 
> > --
> > Thanks,
> > Sasha

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 6.6 0/4] fix kernel crash for xfs/235 test
  2026-06-16  7:13       ` Carlos Maiolino
@ 2026-06-16 13:31         ` Hamza Mahfooz
  2026-06-16 14:19           ` Carlos Maiolino
  0 siblings, 1 reply; 21+ messages in thread
From: Hamza Mahfooz @ 2026-06-16 13:31 UTC (permalink / raw)
  To: Carlos Maiolino
  Cc: Sasha Levin, Fedor Pchelkin, Leah Rumancik, stable, xfs-stable,
	Darrick J. Wong, Christoph Hellwig, Catherine Hoang,
	Greg Kroah-Hartman, lvc-project, linux-xfs

Cc: linux-xfs@vger.kernel.org

On Tue, Jun 16, 2026 at 09:13:45AM +0200, Carlos Maiolino wrote:
> On Mon, Jun 15, 2026 at 03:19:24PM -0400, Hamza Mahfooz wrote:
> > Cc: Carlos Maiolino <cem@kernel.org>
> 
> FWIW I don't maintain the stable trees I really don't have time for
> that. Darrick/Leah have been doing a best effort case for that, but
> again, this is mostly a best effort so we shouldn't expect them to be
> looking/picking up every single possible patch suggested for stable.
> 

Now that you mention it, the xfs-stable mailing list seems to be pretty
much dead (i.e. the last time fixes from it were merged into stable was
almost a year ago). I guess no one is really working on it anymore?

> > 
> > On Fri, Jun 12, 2026 at 08:20:34PM -0400, Sasha Levin wrote:
> > > On Wed, Jun 11, 2026 at 02:39:03PM -0400, Hamza Mahfooz wrote:
> > > > Any idea what happened to this series? It resolves an issue that I've
> > > > hit in a production environment FWIW.
> > > >
> > > > Series is:
> > > >
> > > > Tested-by: Hamza Mahfooz <hamzamahfooz@linux.microsoft.com>
> > > 
> > > Thanks for the nudge, and thanks Fedor for putting the backport together.
> > > 
> > > We generally don't take XFS backports without a maintainer signing off on them,
> > > so right now we're waiting for one to do so :)
> > > 
> > > --
> > > Thanks,
> > > Sasha

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 6.6 0/4] fix kernel crash for xfs/235 test
  2026-06-16 13:31         ` Hamza Mahfooz
@ 2026-06-16 14:19           ` Carlos Maiolino
  2026-06-16 17:26             ` Leah Rumancik
  0 siblings, 1 reply; 21+ messages in thread
From: Carlos Maiolino @ 2026-06-16 14:19 UTC (permalink / raw)
  To: Hamza Mahfooz
  Cc: Sasha Levin, Fedor Pchelkin, Leah Rumancik, stable, xfs-stable,
	Darrick J. Wong, Christoph Hellwig, Catherine Hoang,
	Greg Kroah-Hartman, lvc-project, linux-xfs

On Tue, Jun 16, 2026 at 09:31:41AM -0400, Hamza Mahfooz wrote:
> Cc: linux-xfs@vger.kernel.org
> 
> On Tue, Jun 16, 2026 at 09:13:45AM +0200, Carlos Maiolino wrote:
> > On Mon, Jun 15, 2026 at 03:19:24PM -0400, Hamza Mahfooz wrote:
> > > Cc: Carlos Maiolino <cem@kernel.org>
> > 
> > FWIW I don't maintain the stable trees I really don't have time for
> > that. Darrick/Leah have been doing a best effort case for that, but
> > again, this is mostly a best effort so we shouldn't expect them to be
> > looking/picking up every single possible patch suggested for stable.
> > 
> 
> Now that you mention it, the xfs-stable mailing list seems to be pretty
> much dead (i.e. the last time fixes from it were merged into stable was
> almost a year ago). I guess no one is really working on it anymore?

IIRC Darrick started it, I personally never worked on it, but I didn't
follow the evolution there.

> 
> > > 
> > > On Fri, Jun 12, 2026 at 08:20:34PM -0400, Sasha Levin wrote:
> > > > On Wed, Jun 11, 2026 at 02:39:03PM -0400, Hamza Mahfooz wrote:
> > > > > Any idea what happened to this series? It resolves an issue that I've
> > > > > hit in a production environment FWIW.
> > > > >
> > > > > Series is:
> > > > >
> > > > > Tested-by: Hamza Mahfooz <hamzamahfooz@linux.microsoft.com>
> > > > 
> > > > Thanks for the nudge, and thanks Fedor for putting the backport together.
> > > > 
> > > > We generally don't take XFS backports without a maintainer signing off on them,
> > > > so right now we're waiting for one to do so :)
> > > > 
> > > > --
> > > > Thanks,
> > > > Sasha

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 6.6 0/4] fix kernel crash for xfs/235 test
  2026-06-16 14:19           ` Carlos Maiolino
@ 2026-06-16 17:26             ` Leah Rumancik
  2026-06-17  9:19               ` Amir Goldstein
  0 siblings, 1 reply; 21+ messages in thread
From: Leah Rumancik @ 2026-06-16 17:26 UTC (permalink / raw)
  To: Carlos Maiolino
  Cc: Hamza Mahfooz, Sasha Levin, Fedor Pchelkin, stable, xfs-stable,
	Darrick J. Wong, Christoph Hellwig, Catherine Hoang,
	Greg Kroah-Hartman, lvc-project, linux-xfs

I have changed teams so I no longer work on kernel and I don't believe
my xfs maintenance work was backfilled ;(

On Tue, Jun 16, 2026 at 7:19 AM Carlos Maiolino <cem@kernel.org> wrote:
>
> On Tue, Jun 16, 2026 at 09:31:41AM -0400, Hamza Mahfooz wrote:
> > Cc: linux-xfs@vger.kernel.org
> >
> > On Tue, Jun 16, 2026 at 09:13:45AM +0200, Carlos Maiolino wrote:
> > > On Mon, Jun 15, 2026 at 03:19:24PM -0400, Hamza Mahfooz wrote:
> > > > Cc: Carlos Maiolino <cem@kernel.org>
> > >
> > > FWIW I don't maintain the stable trees I really don't have time for
> > > that. Darrick/Leah have been doing a best effort case for that, but
> > > again, this is mostly a best effort so we shouldn't expect them to be
> > > looking/picking up every single possible patch suggested for stable.
> > >
> >
> > Now that you mention it, the xfs-stable mailing list seems to be pretty
> > much dead (i.e. the last time fixes from it were merged into stable was
> > almost a year ago). I guess no one is really working on it anymore?
>
> IIRC Darrick started it, I personally never worked on it, but I didn't
> follow the evolution there.
>
> >
> > > >
> > > > On Fri, Jun 12, 2026 at 08:20:34PM -0400, Sasha Levin wrote:
> > > > > On Wed, Jun 11, 2026 at 02:39:03PM -0400, Hamza Mahfooz wrote:
> > > > > > Any idea what happened to this series? It resolves an issue that I've
> > > > > > hit in a production environment FWIW.
> > > > > >
> > > > > > Series is:
> > > > > >
> > > > > > Tested-by: Hamza Mahfooz <hamzamahfooz@linux.microsoft.com>
> > > > >
> > > > > Thanks for the nudge, and thanks Fedor for putting the backport together.
> > > > >
> > > > > We generally don't take XFS backports without a maintainer signing off on them,
> > > > > so right now we're waiting for one to do so :)
> > > > >
> > > > > --
> > > > > Thanks,
> > > > > Sasha

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 6.6 0/4] fix kernel crash for xfs/235 test
  2026-06-16 17:26             ` Leah Rumancik
@ 2026-06-17  9:19               ` Amir Goldstein
  2026-06-17 12:31                 ` Carlos Maiolino
  0 siblings, 1 reply; 21+ messages in thread
From: Amir Goldstein @ 2026-06-17  9:19 UTC (permalink / raw)
  To: Darrick J. Wong
  Cc: Carlos Maiolino, Hamza Mahfooz, Sasha Levin, Fedor Pchelkin,
	stable, xfs-stable, Christoph Hellwig, Catherine Hoang,
	Greg Kroah-Hartman, lvc-project, linux-xfs, Leah Rumancik

On Tue, Jun 16, 2026 at 7:33 PM Leah Rumancik <leah.rumancik@gmail.com> wrote:
>
> I have changed teams so I no longer work on kernel and I don't believe
> my xfs maintenance work was backfilled ;(
>
> On Tue, Jun 16, 2026 at 7:19 AM Carlos Maiolino <cem@kernel.org> wrote:
> >
> > On Tue, Jun 16, 2026 at 09:31:41AM -0400, Hamza Mahfooz wrote:
> > > Cc: linux-xfs@vger.kernel.org
> > >
> > > On Tue, Jun 16, 2026 at 09:13:45AM +0200, Carlos Maiolino wrote:
> > > > On Mon, Jun 15, 2026 at 03:19:24PM -0400, Hamza Mahfooz wrote:
> > > > > Cc: Carlos Maiolino <cem@kernel.org>
> > > >
> > > > FWIW I don't maintain the stable trees I really don't have time for
> > > > that. Darrick/Leah have been doing a best effort case for that, but
> > > > again, this is mostly a best effort so we shouldn't expect them to be
> > > > looking/picking up every single possible patch suggested for stable.
> > > >
> > >
> > > Now that you mention it, the xfs-stable mailing list seems to be pretty
> > > much dead (i.e. the last time fixes from it were merged into stable was
> > > almost a year ago). I guess no one is really working on it anymore?
> >
> > IIRC Darrick started it, I personally never worked on it, but I didn't
> > follow the evolution there.

I think at this point we can officially declare xfs in stable <= 6.6
unmaintained
maybe need to send patches to LTS MAINTAINERS.

The best chance in this case to apply the requested fix to 6.6.y is that the
author (Darrick) approves it.

Thanks,
Amir.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 6.6 0/4] fix kernel crash for xfs/235 test
  2026-06-17  9:19               ` Amir Goldstein
@ 2026-06-17 12:31                 ` Carlos Maiolino
  2026-06-25 18:34                   ` Darrick J. Wong
  0 siblings, 1 reply; 21+ messages in thread
From: Carlos Maiolino @ 2026-06-17 12:31 UTC (permalink / raw)
  To: Amir Goldstein
  Cc: Darrick J. Wong, Hamza Mahfooz, Sasha Levin, Fedor Pchelkin,
	stable, xfs-stable, Christoph Hellwig, Catherine Hoang,
	Greg Kroah-Hartman, lvc-project, linux-xfs, Leah Rumancik

On Wed, Jun 17, 2026 at 11:19:25AM +0200, Amir Goldstein wrote:
> On Tue, Jun 16, 2026 at 7:33 PM Leah Rumancik <leah.rumancik@gmail.com> wrote:
> >
> > I have changed teams so I no longer work on kernel and I don't believe
> > my xfs maintenance work was backfilled ;(
> >
> > On Tue, Jun 16, 2026 at 7:19 AM Carlos Maiolino <cem@kernel.org> wrote:
> > >
> > > On Tue, Jun 16, 2026 at 09:31:41AM -0400, Hamza Mahfooz wrote:
> > > > Cc: linux-xfs@vger.kernel.org
> > > >
> > > > On Tue, Jun 16, 2026 at 09:13:45AM +0200, Carlos Maiolino wrote:
> > > > > On Mon, Jun 15, 2026 at 03:19:24PM -0400, Hamza Mahfooz wrote:
> > > > > > Cc: Carlos Maiolino <cem@kernel.org>
> > > > >
> > > > > FWIW I don't maintain the stable trees I really don't have time for
> > > > > that. Darrick/Leah have been doing a best effort case for that, but
> > > > > again, this is mostly a best effort so we shouldn't expect them to be
> > > > > looking/picking up every single possible patch suggested for stable.
> > > > >
> > > >
> > > > Now that you mention it, the xfs-stable mailing list seems to be pretty
> > > > much dead (i.e. the last time fixes from it were merged into stable was
> > > > almost a year ago). I guess no one is really working on it anymore?
> > >
> > > IIRC Darrick started it, I personally never worked on it, but I didn't
> > > follow the evolution there.
> 
> I think at this point we can officially declare xfs in stable <= 6.6
> unmaintained
> maybe need to send patches to LTS MAINTAINERS.
> 
> The best chance in this case to apply the requested fix to 6.6.y is that the
> author (Darrick) approves it.

Unfortunately this might be true. But let's wait for Darrick's input
please. He's on vacations this week so will be unfair to make any
decisions in this matter without his input.
Also he has been still poking people to tag patches with LTS versions
so even though he might not me dealing with the xfs-stable, he might still
be driving work on LTS trees.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 6.6 0/4] fix kernel crash for xfs/235 test
  2026-06-17 12:31                 ` Carlos Maiolino
@ 2026-06-25 18:34                   ` Darrick J. Wong
  2026-06-30 23:39                     ` Hamza Mahfooz
  0 siblings, 1 reply; 21+ messages in thread
From: Darrick J. Wong @ 2026-06-25 18:34 UTC (permalink / raw)
  To: Carlos Maiolino
  Cc: Amir Goldstein, Hamza Mahfooz, Sasha Levin, Fedor Pchelkin,
	stable, xfs-stable, Christoph Hellwig, Catherine Hoang,
	Greg Kroah-Hartman, lvc-project, linux-xfs, Leah Rumancik,
	Theodore Ts'o

On Wed, Jun 17, 2026 at 02:31:01PM +0200, Carlos Maiolino wrote:
> On Wed, Jun 17, 2026 at 11:19:25AM +0200, Amir Goldstein wrote:
> > On Tue, Jun 16, 2026 at 7:33 PM Leah Rumancik <leah.rumancik@gmail.com> wrote:
> > >
> > > I have changed teams so I no longer work on kernel and I don't believe
> > > my xfs maintenance work was backfilled ;(
> > >
> > > On Tue, Jun 16, 2026 at 7:19 AM Carlos Maiolino <cem@kernel.org> wrote:
> > > >
> > > > On Tue, Jun 16, 2026 at 09:31:41AM -0400, Hamza Mahfooz wrote:
> > > > > Cc: linux-xfs@vger.kernel.org
> > > > >
> > > > > On Tue, Jun 16, 2026 at 09:13:45AM +0200, Carlos Maiolino wrote:
> > > > > > On Mon, Jun 15, 2026 at 03:19:24PM -0400, Hamza Mahfooz wrote:
> > > > > > > Cc: Carlos Maiolino <cem@kernel.org>
> > > > > >
> > > > > > FWIW I don't maintain the stable trees I really don't have time for
> > > > > > that. Darrick/Leah have been doing a best effort case for that, but
> > > > > > again, this is mostly a best effort so we shouldn't expect them to be
> > > > > > looking/picking up every single possible patch suggested for stable.
> > > > > >
> > > > >
> > > > > Now that you mention it, the xfs-stable mailing list seems to be pretty
> > > > > much dead (i.e. the last time fixes from it were merged into stable was
> > > > > almost a year ago). I guess no one is really working on it anymore?
> > > >
> > > > IIRC Darrick started it, I personally never worked on it, but I didn't
> > > > follow the evolution there.
> > 
> > I think at this point we can officially declare xfs in stable <= 6.6
> > unmaintained
> > maybe need to send patches to LTS MAINTAINERS.
> > 
> > The best chance in this case to apply the requested fix to 6.6.y is that the
> > author (Darrick) approves it.
> 
> Unfortunately this might be true. But let's wait for Darrick's input
> please. He's on vacations this week so will be unfair to make any
> decisions in this matter without his input.
> Also he has been still poking people to tag patches with LTS versions
> so even though he might not me dealing with the xfs-stable, he might still
> be driving work on LTS trees.

I've really only been doing QA work on 6.12/6.18 LTS.  Ted Tso might
still be doing the older ones.  Catherine left Oracle last year.

--D

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 6.6 0/4] fix kernel crash for xfs/235 test
  2026-06-25 18:34                   ` Darrick J. Wong
@ 2026-06-30 23:39                     ` Hamza Mahfooz
  2026-07-01 16:33                       ` Darrick J. Wong
  0 siblings, 1 reply; 21+ messages in thread
From: Hamza Mahfooz @ 2026-06-30 23:39 UTC (permalink / raw)
  To: Darrick J. Wong
  Cc: Carlos Maiolino, Amir Goldstein, Sasha Levin, Fedor Pchelkin,
	stable, xfs-stable, Christoph Hellwig, Catherine Hoang,
	Greg Kroah-Hartman, lvc-project, linux-xfs, Leah Rumancik,
	Theodore Ts'o

On Thu, Jun 25, 2026 at 11:34:21AM -0700, Darrick J. Wong wrote:
> On Wed, Jun 17, 2026 at 02:31:01PM +0200, Carlos Maiolino wrote:
> > On Wed, Jun 17, 2026 at 11:19:25AM +0200, Amir Goldstein wrote:
> > > On Tue, Jun 16, 2026 at 7:33 PM Leah Rumancik <leah.rumancik@gmail.com> wrote:
> > > >
> > > > I have changed teams so I no longer work on kernel and I don't believe
> > > > my xfs maintenance work was backfilled ;(
> > > >
> > > > On Tue, Jun 16, 2026 at 7:19 AM Carlos Maiolino <cem@kernel.org> wrote:
> > > > >
> > > > > On Tue, Jun 16, 2026 at 09:31:41AM -0400, Hamza Mahfooz wrote:
> > > > > > Cc: linux-xfs@vger.kernel.org
> > > > > >
> > > > > > On Tue, Jun 16, 2026 at 09:13:45AM +0200, Carlos Maiolino wrote:
> > > > > > > On Mon, Jun 15, 2026 at 03:19:24PM -0400, Hamza Mahfooz wrote:
> > > > > > > > Cc: Carlos Maiolino <cem@kernel.org>
> > > > > > >
> > > > > > > FWIW I don't maintain the stable trees I really don't have time for
> > > > > > > that. Darrick/Leah have been doing a best effort case for that, but
> > > > > > > again, this is mostly a best effort so we shouldn't expect them to be
> > > > > > > looking/picking up every single possible patch suggested for stable.
> > > > > > >
> > > > > >
> > > > > > Now that you mention it, the xfs-stable mailing list seems to be pretty
> > > > > > much dead (i.e. the last time fixes from it were merged into stable was
> > > > > > almost a year ago). I guess no one is really working on it anymore?
> > > > >
> > > > > IIRC Darrick started it, I personally never worked on it, but I didn't
> > > > > follow the evolution there.
> > > 
> > > I think at this point we can officially declare xfs in stable <= 6.6
> > > unmaintained
> > > maybe need to send patches to LTS MAINTAINERS.
> > > 
> > > The best chance in this case to apply the requested fix to 6.6.y is that the
> > > author (Darrick) approves it.
> > 
> > Unfortunately this might be true. But let's wait for Darrick's input
> > please. He's on vacations this week so will be unfair to make any
> > decisions in this matter without his input.
> > Also he has been still poking people to tag patches with LTS versions
> > so even though he might not me dealing with the xfs-stable, he might still
> > be driving work on LTS trees.
> 
> I've really only been doing QA work on 6.12/6.18 LTS.  Ted Tso might
> still be doing the older ones.  Catherine left Oracle last year.

Any idea on potential paths forward for getting this series in
particular into 6.6.y?

> 
> --D

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 6.6 0/4] fix kernel crash for xfs/235 test
  2026-06-30 23:39                     ` Hamza Mahfooz
@ 2026-07-01 16:33                       ` Darrick J. Wong
  2026-07-03  4:06                         ` Sasha Levin
  0 siblings, 1 reply; 21+ messages in thread
From: Darrick J. Wong @ 2026-07-01 16:33 UTC (permalink / raw)
  To: Hamza Mahfooz
  Cc: Carlos Maiolino, Amir Goldstein, Sasha Levin, Fedor Pchelkin,
	stable, xfs-stable, Christoph Hellwig, Catherine Hoang,
	Greg Kroah-Hartman, lvc-project, linux-xfs, Leah Rumancik,
	Theodore Ts'o

On Tue, Jun 30, 2026 at 07:39:32PM -0400, Hamza Mahfooz wrote:
> On Thu, Jun 25, 2026 at 11:34:21AM -0700, Darrick J. Wong wrote:
> > On Wed, Jun 17, 2026 at 02:31:01PM +0200, Carlos Maiolino wrote:
> > > On Wed, Jun 17, 2026 at 11:19:25AM +0200, Amir Goldstein wrote:
> > > > On Tue, Jun 16, 2026 at 7:33 PM Leah Rumancik <leah.rumancik@gmail.com> wrote:
> > > > >
> > > > > I have changed teams so I no longer work on kernel and I don't believe
> > > > > my xfs maintenance work was backfilled ;(
> > > > >
> > > > > On Tue, Jun 16, 2026 at 7:19 AM Carlos Maiolino <cem@kernel.org> wrote:
> > > > > >
> > > > > > On Tue, Jun 16, 2026 at 09:31:41AM -0400, Hamza Mahfooz wrote:
> > > > > > > Cc: linux-xfs@vger.kernel.org
> > > > > > >
> > > > > > > On Tue, Jun 16, 2026 at 09:13:45AM +0200, Carlos Maiolino wrote:
> > > > > > > > On Mon, Jun 15, 2026 at 03:19:24PM -0400, Hamza Mahfooz wrote:
> > > > > > > > > Cc: Carlos Maiolino <cem@kernel.org>
> > > > > > > >
> > > > > > > > FWIW I don't maintain the stable trees I really don't have time for
> > > > > > > > that. Darrick/Leah have been doing a best effort case for that, but
> > > > > > > > again, this is mostly a best effort so we shouldn't expect them to be
> > > > > > > > looking/picking up every single possible patch suggested for stable.
> > > > > > > >
> > > > > > >
> > > > > > > Now that you mention it, the xfs-stable mailing list seems to be pretty
> > > > > > > much dead (i.e. the last time fixes from it were merged into stable was
> > > > > > > almost a year ago). I guess no one is really working on it anymore?
> > > > > >
> > > > > > IIRC Darrick started it, I personally never worked on it, but I didn't
> > > > > > follow the evolution there.
> > > > 
> > > > I think at this point we can officially declare xfs in stable <= 6.6
> > > > unmaintained
> > > > maybe need to send patches to LTS MAINTAINERS.
> > > > 
> > > > The best chance in this case to apply the requested fix to 6.6.y is that the
> > > > author (Darrick) approves it.
> > > 
> > > Unfortunately this might be true. But let's wait for Darrick's input
> > > please. He's on vacations this week so will be unfair to make any
> > > decisions in this matter without his input.
> > > Also he has been still poking people to tag patches with LTS versions
> > > so even though he might not me dealing with the xfs-stable, he might still
> > > be driving work on LTS trees.
> > 
> > I've really only been doing QA work on 6.12/6.18 LTS.  Ted Tso might
> > still be doing the older ones.  Catherine left Oracle last year.
> 
> Any idea on potential paths forward for getting this series in
> particular into 6.6.y?

Run fstests, and if there are no new regressions, ask sasha/greg to
queue it.

--D

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 6.6 0/4] fix kernel crash for xfs/235 test
  2026-07-01 16:33                       ` Darrick J. Wong
@ 2026-07-03  4:06                         ` Sasha Levin
  2026-07-03 13:46                           ` Amir Goldstein
  2026-07-08  0:34                           ` Hamza Mahfooz
  0 siblings, 2 replies; 21+ messages in thread
From: Sasha Levin @ 2026-07-03  4:06 UTC (permalink / raw)
  To: Hamza Mahfooz
  Cc: Sasha Levin, Carlos Maiolino, Amir Goldstein, Fedor Pchelkin,
	stable, xfs-stable, Christoph Hellwig, Catherine Hoang,
	Greg Kroah-Hartman, lvc-project, linux-xfs, Leah Rumancik,
	Theodore Ts'o, Darrick J. Wong

On Wed, Jul 01, 2026 at 09:33:10AM -0700, Darrick J. Wong wrote:
> On Tue, Jun 30, 2026 at 07:39:32PM -0400, Hamza Mahfooz wrote:
> > Any idea on potential paths forward for getting this series in
> > particular into 6.6.y?
>
> Run fstests, and if there are no new regressions, ask sasha/greg to
> queue it.

Thanks Darrick.

Hamza, could you apply the four patches on top of the current 6.6.y
tree, run fstests, and report the results here? The series was written
against 6.6.84-rc2 about 15 months ago, so a fresh run against today's
6.6.y would both satisfy Darrick's condition and confirm the series
still behaves on the current tree.

Once a clean fstests run is reported I'll queue the series up for 6.6.

-- 
Thanks,
Sasha

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 6.6 0/4] fix kernel crash for xfs/235 test
  2026-07-03  4:06                         ` Sasha Levin
@ 2026-07-03 13:46                           ` Amir Goldstein
  2026-07-08  0:34                           ` Hamza Mahfooz
  1 sibling, 0 replies; 21+ messages in thread
From: Amir Goldstein @ 2026-07-03 13:46 UTC (permalink / raw)
  To: Sasha Levin
  Cc: Hamza Mahfooz, Carlos Maiolino, Fedor Pchelkin, stable,
	xfs-stable, Christoph Hellwig, Catherine Hoang,
	Greg Kroah-Hartman, lvc-project, linux-xfs, Leah Rumancik,
	Theodore Ts'o, Darrick J. Wong

On Fri, Jul 3, 2026 at 6:07 AM Sasha Levin <sashal@kernel.org> wrote:
>
> On Wed, Jul 01, 2026 at 09:33:10AM -0700, Darrick J. Wong wrote:
> > On Tue, Jun 30, 2026 at 07:39:32PM -0400, Hamza Mahfooz wrote:
> > > Any idea on potential paths forward for getting this series in
> > > particular into 6.6.y?
> >
> > Run fstests, and if there are no new regressions, ask sasha/greg to
> > queue it.
>
> Thanks Darrick.
>
> Hamza, could you apply the four patches on top of the current 6.6.y
> tree, run fstests, and report the results here? The series was written
> against 6.6.84-rc2 about 15 months ago, so a fresh run against today's
> 6.6.y would both satisfy Darrick's condition and confirm the series
> still behaves on the current tree.
>
> Once a clean fstests run is reported I'll queue the series up for 6.6.

To be clear, it is not likely to expect a clean run.
What we want to expect is no regression from 6.6.y to patches 6.6.y.
A run of test group auto (-g auto) is the minimal sanity requirement.

TBH, this series is quite subtle, so this bare minimum sanity is not much,
but it's enough to make sure no silly backports mistakes were made and
it's probably better off than leaving the known bug in LTS.

Thanks,
Amir.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 6.6 0/4] fix kernel crash for xfs/235 test
  2026-07-03  4:06                         ` Sasha Levin
  2026-07-03 13:46                           ` Amir Goldstein
@ 2026-07-08  0:34                           ` Hamza Mahfooz
  2026-07-08 16:18                             ` Sasha Levin
  1 sibling, 1 reply; 21+ messages in thread
From: Hamza Mahfooz @ 2026-07-08  0:34 UTC (permalink / raw)
  To: Sasha Levin
  Cc: Carlos Maiolino, Amir Goldstein, Fedor Pchelkin, stable,
	xfs-stable, Christoph Hellwig, Catherine Hoang,
	Greg Kroah-Hartman, lvc-project, linux-xfs, Leah Rumancik,
	Theodore Ts'o, Darrick J. Wong

[-- Attachment #1: Type: text/plain, Size: 1177 bytes --]

On Fri, Jul 03, 2026 at 12:06:56AM -0400, Sasha Levin wrote:
> On Wed, Jul 01, 2026 at 09:33:10AM -0700, Darrick J. Wong wrote:
> > On Tue, Jun 30, 2026 at 07:39:32PM -0400, Hamza Mahfooz wrote:
> > > Any idea on potential paths forward for getting this series in
> > > particular into 6.6.y?
> >
> > Run fstests, and if there are no new regressions, ask sasha/greg to
> > queue it.
> 
> Thanks Darrick.
> 
> Hamza, could you apply the four patches on top of the current 6.6.y
> tree, run fstests, and report the results here? The series was written
> against 6.6.84-rc2 about 15 months ago, so a fresh run against today's
> 6.6.y would both satisfy Darrick's condition and confirm the series
> still behaves on the current tree.

I ran fstests both before and after applying the series with "-g auto"
as Amir suggested and the only meaningful difference between the two is
that all of the tests after xfs/234 refuse to run on the unpatched
kernel (presumably because of the kernel panic). I have also attached
both runs if you're interested in having a look for yourself.

> 
> Once a clean fstests run is reported I'll queue the series up for 6.6.
> 
> -- 
> Thanks,
> Sasha

[-- Attachment #2: fstests-auto-baseline.log --]
[-- Type: text/plain, Size: 37226 bytes --]

FSTYP         -- xfs (non-debug)
PLATFORM      -- Linux/x86_64 hamza-azl3-fstests 6.6.144.1-1.azl3 #1 SMP PREEMPT_DYNAMIC Mon Jul  6 10:06:46 UTC 2026
MKFS_OPTIONS  -- -f /dev/sdb
MOUNT_OPTIONS -- /dev/sdb /mnt/scratch

generic/001         3s
generic/002         1s
generic/003         12s
generic/004         1s
generic/005         0s
generic/006         1s
generic/007         1s
generic/008         1s
generic/009         2s
generic/010        [not run] /home/azureuser/xfstests-dev/src/dbtest not built
generic/011         1s
generic/012         1s
generic/013         5s
generic/014         3s
generic/015         3s
generic/016         1s
generic/017         118s
generic/018         3s
generic/020         3s
generic/021         1s
generic/022         1s
generic/023         1s
generic/024         1s
generic/025         1s
generic/026         3s
generic/027         34s
generic/028         6s
generic/029         1s
generic/030         3s
generic/031         1s
generic/032         7s
generic/033         1s
generic/034         2s
generic/035         1s
generic/036        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-fcntl-race not built
generic/037         6s
generic/038         33s
generic/039         2s
generic/040         7s
generic/041         8s
generic/042         14s
generic/043         14s
generic/044         17s
generic/045         17s
generic/046         17s
generic/047         28s
generic/048         82s
generic/049         12s
generic/050         3s
generic/051         93s
generic/052         3s
generic/053         2s
generic/054         69s
generic/055         47s
generic/056         4s
generic/057         4s
generic/058         2s
generic/059         3s
generic/060         2s
generic/061         1s
generic/062        - output mismatch (see /home/azureuser/xfstests-dev/results//generic/062.out.bad)
    --- tests/generic/062.out	2026-07-07 12:16:09.188601915 +0000
    +++ /home/azureuser/xfstests-dev/results//generic/062.out.bad	2026-07-07 12:33:50.038487667 +0000
    @@ -649,6 +649,7 @@
     SCRATCH_MNT/lnk
     SCRATCH_MNT/reg
     *** restore everything
    +Warning: option --restore=file is unsafe without option -P (--physical) as it traverses symbolic links in pathnames
     *** compare before and after backups
     
     *** unmount
    ...
    (Run 'diff -u /home/azureuser/xfstests-dev/tests/generic/062.out /home/azureuser/xfstests-dev/results//generic/062.out.bad'  to see the entire diff)
generic/063         1s
generic/064         2s
generic/065         2s
generic/066         2s
generic/067         2s
generic/068         46s
generic/069         4s
generic/070         3s
generic/071         1s
generic/072         12s
generic/073         2s
generic/074         133s
generic/075         33s
generic/076         3s
generic/077         15s
generic/078         2s
generic/079         1s
generic/080         3s
generic/081         3s
generic/082         2s
generic/083         4s
generic/084         7s
generic/085         18s
generic/086         1s
generic/087         1s
generic/088         1s
generic/089         4s
generic/090         2s
generic/091         47s
generic/092         0s
generic/093         1s
generic/094         51s
generic/095        [not run] kernel does not support asynchronous I/O
generic/096         2s
generic/097         1s
generic/098         1s
generic/099         2s
generic/100         14s
generic/101         1s
generic/102         3s
generic/103         2s
generic/104         2s
generic/105         1s
generic/106         2s
generic/107         2s
generic/108         3s
generic/109         2s
generic/110         2s
generic/111         0s
generic/112        [not run] kernel does not support asynchronous I/O
generic/113        [not run] kernel does not support asynchronous I/O
generic/114        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-eof-race not built
generic/115         1s
generic/116         1s
generic/117         5s
generic/118         1s
generic/119         2s
generic/120         16s
generic/121         1s
generic/122         2s
generic/123         1s
generic/124         2s
generic/125         62s
generic/126         1s
generic/127         221s
generic/128         1s
generic/129         7s
generic/130         12s
generic/131         2s
generic/132         12s
generic/133         102s
generic/134         2s
generic/135         1s
generic/136         1s
generic/137         15s
generic/138         1s
generic/139         2s
generic/140         1s
generic/141         1s
generic/142         3s
generic/143         50s
generic/144         1s
generic/145         1s
generic/146         2s
generic/147         1s
generic/148         1s
generic/149         1s
generic/150         1s
generic/151         1s
generic/152         2s
generic/153         1s
generic/154         2s
generic/155         6s
generic/156         3s
generic/157         2s
generic/158         3s
generic/159         1s
generic/160         1s
generic/161         3s
generic/162         22s
generic/163         34s
generic/164         7s
generic/165         20s
generic/166         44s
generic/167         8s
generic/168         38s
generic/169         2s
generic/170         80s
generic/171         3s
generic/172         8s
generic/173         3s
generic/174         4s
generic/175         108s
generic/176         230s
generic/177         2s
generic/178         2s
generic/179         2s
generic/180         1s
generic/181         1s
generic/182         4s
generic/183         3s
generic/184         1s
generic/185         2s
generic/186         24s
generic/187         33s
generic/188         5s
generic/189         3s
generic/190         4s
generic/191         7s
generic/192         7s
generic/193         2s
generic/194         5s
generic/195         4s
generic/196         3s
generic/197         3s
generic/198        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aiodio_sparse2 not built
generic/199         4s
generic/200         4s
generic/201         2s
generic/202         3s
generic/203         3s
generic/204         16s
generic/205         2s
generic/206         3s
generic/207        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-extend-stat not built
generic/208        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-invalidate-failure not built
generic/209        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-invalidate-readahead not built
generic/210        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-subblock-eof-read not built
generic/211         5s
generic/212        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-io-setup-with-nonwritable-context-pointer not built
generic/213         1s
generic/214         1s
generic/215         3s
generic/216         2s
generic/217         2s
generic/218         3s
generic/219         2s
generic/220         3s
generic/221         2s
generic/222         2s
generic/223         9s
generic/224         18s
generic/225         86s
generic/226         15s
generic/227         6s
generic/228         1s
generic/229         8s
generic/230         15s
generic/231         92s
generic/232         23s
generic/233         19s
generic/234         16s
generic/235         2s
generic/236         2s
generic/237         1s
generic/238         8s
generic/239        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-hole-filling-race not built
generic/240        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aiodio_sparse2 not built
generic/241        [not run] dbench not found
generic/242         32s
generic/243         34s
generic/244         5s
generic/245         1s
generic/246         1s
generic/247         11s
generic/248         1s
generic/249         1s
generic/250         3s
generic/251         33s
generic/252        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aiocp not built
generic/253         2s
generic/254         2s
generic/255         2s
generic/256         32s
generic/257         1s
generic/258         1s
generic/259         2s
generic/260         27s
generic/261         6s
generic/262         3s
generic/263         21s
generic/264         2s
generic/265         4s
generic/266         3s
generic/267         4s
generic/268         4s
generic/269         28s
generic/270         60s
generic/271         3s
generic/272         4s
generic/273         7s
generic/274         16s
generic/275         13s
generic/276         4s
generic/277         3s
generic/278         4s
generic/279         4s
generic/280         2s
generic/281         4s
generic/282         4s
generic/283         4s
generic/284         3s
generic/285         1s
generic/286         1s
generic/287         3s
generic/288         1s
generic/289         3s
generic/290         3s
generic/291         3s
generic/292         4s
generic/293         4s
generic/294         1s
generic/295         4s
generic/296         3s
generic/297         53s
generic/298         52s
generic/299        [not run] kernel does not support asynchronous I/O
generic/300        [not run] kernel does not support asynchronous I/O
generic/301         4s
generic/302         38s
generic/303         1s
generic/304         1s
generic/305         3s
generic/306         2s
generic/307         3s
generic/308         1s
generic/309         2s
generic/310         64s
generic/311         112s
generic/312         2s
generic/313         5s
generic/314         1s
generic/315         1s
generic/316         1s
generic/317         1s
generic/318         2s
generic/319         1s
generic/320         27s
generic/321         4s
generic/322         2s
generic/323        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-last-ref-held-by-io not built
generic/324         13s
generic/325         2s
generic/326         3s
generic/327         3s
generic/328         3s
generic/329        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aiocp not built
generic/330        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aiocp not built
generic/331        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aiocp not built
generic/332        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aiocp not built
generic/333         28s
generic/334         10s
generic/335         1s
generic/336         2s
generic/337         2s
generic/338         1s
generic/339         4s
generic/340         2s
generic/341         2s
generic/342         2s
generic/343         2s
generic/344         3s
generic/345         3s
generic/346         2s
generic/347         69s
generic/348         2s
generic/352         14s
generic/353         3s
generic/354         3s
generic/355         1s
generic/356         3s
generic/357         3s
generic/358         7s
generic/359         3s
generic/360         1s
generic/361         4s
generic/362         1s
generic/363        [failed, exit status 1]- output mismatch (see /home/azureuser/xfstests-dev/results//generic/363.out.bad)
    --- tests/generic/363.out	2026-07-07 12:16:09.204601825 +0000
    +++ /home/azureuser/xfstests-dev/results//generic/363.out.bad	2026-07-07 13:26:24.375662184 +0000
    @@ -1,2 +1,298 @@
     QA output created by 363
     fsx -q -S 0 -e 1 -N 100000
    +READ BAD DATA: offset = 0x39bcf, size = 0x6431, fname = /mnt/test/junk
    +OFFSET      GOOD    BAD     RANGE
    +0x3a91b     0x0000  0x6e00  0x0
    +operation# (mod 256) for the bad data unknown, check HOLE and EXTEND ops
    +0x3a91d     0x0000  0x5e00  0x1
    ...
    (Run 'diff -u /home/azureuser/xfstests-dev/tests/generic/363.out /home/azureuser/xfstests-dev/results//generic/363.out.bad'  to see the entire diff)
generic/364         11s
generic/365        - output mismatch (see /home/azureuser/xfstests-dev/results//generic/365.out.bad)
    --- tests/generic/365.out	2026-07-07 12:16:09.204601825 +0000
    +++ /home/azureuser/xfstests-dev/results//generic/365.out.bad	2026-07-07 13:26:37.763584661 +0000
    @@ -2,14 +2,12 @@
     test incorrect setting of high key
     	XXXX: XXXX:XXXX [XXXX..XXXX]: USED XXXX
     test missing free space extent
    -	XXXX: XXXX:XXXX [XXXX..XXXX]: FREE XXXX
     test whatever came before freesp
     	XXXX: XXXX:XXXX [XXXX..XXXX]: USED XXXX
     test whatever came after freesp
    ...
    (Run 'diff -u /home/azureuser/xfstests-dev/tests/generic/365.out /home/azureuser/xfstests-dev/results//generic/365.out.bad'  to see the entire diff)

HINT: You _MAY_ be missing kernel fix:
      68415b349f3f xfs: Fix the owner setting issue for rmap query in xfs fsmap

HINT: You _MAY_ be missing kernel fix:
      ca6448aed4f1 xfs: Fix missing interval for missing_owner in xfs fsmap

generic/366        [not run] kernel does not support asynchronous I/O
generic/368        [not run] filesystem doesn't support -o inlinecrypt
generic/369        [not run] filesystem doesn't support -o inlinecrypt
generic/370         6s
generic/371         20s
generic/372         4s
generic/373         2s
generic/374         2s
generic/375         2s
generic/376         1s
generic/377         2s
generic/378         1s
generic/379         4s
generic/380         4s
generic/381         1s
generic/382         6s
generic/383         1s
generic/384         2s
generic/385         4s
generic/386         1s
generic/387         29s
generic/388         410s
generic/389         1s
generic/390         2s
generic/391         3s
generic/392         7s
generic/393         2s
generic/394         1s
generic/395        [not run] No encryption support for xfs
generic/396        [not run] No encryption support for xfs
generic/397        [not run] No encryption support for xfs
generic/398        [not run] No encryption support for xfs
generic/399        [not run] No encryption support for xfs
generic/400         2s
generic/401         2s
generic/402         1s
generic/403         2s
generic/404         15s
generic/405         62s
generic/406         3s
generic/407         2s
generic/408         2s
generic/409         10s
generic/410         18s
generic/411         2s
generic/412         1s
generic/413        [not run] /dev/sdb xfs does not support -o dax
generic/414         2s
generic/415         96s
generic/416         63s
generic/417         16s
generic/418         21s
generic/419        [not run] No encryption support for xfs
generic/420         1s
generic/421        [not run] No encryption support for xfs
generic/422         2s
generic/423         1s
generic/424         1s
generic/425         2s
generic/426         2s
generic/427        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-eof-race not built
generic/428         1s
generic/429        [not run] No encryption support for xfs
generic/430         1s
generic/431         1s
generic/432         0s
generic/433         1s
generic/434         1s
generic/435        [not run] No encryption support for xfs
generic/436         1s
generic/437         1s
generic/438         587s
generic/439         2s
generic/440        [not run] No encryption support for xfs
generic/441         1s
generic/443         1s
generic/444         1s
generic/445         1s
generic/446         9s
generic/447         126s
generic/448         1s
generic/449         30s
generic/450         1s
generic/451        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-cycle-write not built
generic/452         1s
generic/453         2s
generic/454         2s
generic/455        [not run] This test requires a valid $LOGWRITES_DEV
generic/456         2s
generic/457        [not run] This test requires a valid $LOGWRITES_DEV
generic/458         2s
generic/459        [not run] thin_check utility required, skipped this test
generic/460         7s
generic/461         22s
generic/462        [not run] /dev/sdb xfs does not support -o dax
generic/463        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-cow-race not built
generic/464         71s
generic/465        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-append-write-read-race not built
generic/466         13s
generic/467         2s
generic/468         4s
generic/469         1s
generic/470        [not run] This test requires a valid $LOGWRITES_DEV
generic/471         1s
generic/472         2s
generic/474         2s
generic/475         572s
generic/476         43s
generic/477         3s
generic/478         11s
generic/479         4s
generic/480         1s
generic/481         2s
generic/482        [not run] This test requires a valid $LOGWRITES_DEV
generic/483         4s
generic/484         2s
generic/485         1s
generic/486         1s
generic/487        [not run] This test requires a valid $SCRATCH_LOGDEV
generic/488         1s
generic/489         2s
generic/490         1s
generic/491         1s
generic/492         2s
generic/493         3s
generic/494         2s
generic/495         2s
generic/496         3s
generic/497         2s
generic/498         2s
generic/499         2s
generic/500         27s
generic/501         80s
generic/502         2s
generic/503         6s
generic/504         1s
generic/505         2s
generic/506         3s
generic/507         6s
generic/508         3s
generic/509         2s
generic/510         2s
generic/511         2s
generic/512         2s
generic/513         3s
generic/514         3s
generic/515         4s
generic/516         2s
generic/517         6s
generic/518         5s
generic/519         4s
generic/520         31s
generic/523         1s
generic/524         6s
generic/525         1s
generic/526         2s
generic/527         2s
generic/528         2s
generic/529         1s
generic/530         11s
generic/531         7s
generic/532         2s
generic/533         1s
generic/534         1s
generic/535         3s
generic/536         2s
generic/537         2s
generic/538        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-write-verify not built
generic/539         1s
generic/540         4s
generic/541         3s
generic/542         4s
generic/543         4s
generic/544         4s
generic/545         2s
generic/546         5s
generic/547         6s
generic/548        [not run] No encryption support for xfs
generic/549        [not run] No encryption support for xfs
generic/550        [not run] No encryption support for xfs
generic/551        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-write-verify not built
generic/552         4s
generic/553         2s
generic/554         4s
generic/555         1s
generic/556        [not run] xfs does not support casefold feature
generic/557         1s
generic/558         88s
generic/559        [not run] duperemove utility required, skipped this test
generic/560        [not run] duperemove utility required, skipped this test
generic/561        [not run] duperemove utility required, skipped this test
generic/562         62s
generic/563         3s
generic/564         1s
generic/565        [not run] xfs does not support cross-device copy_file_range
generic/566         2s
generic/567         2s
generic/568         1s
generic/569         2s
generic/570        [not run] userspace hibernation to swap is enabled
generic/571         7s
generic/572        [not run] fsverity utility required, skipped this test
generic/573        [not run] fsverity utility required, skipped this test
generic/574        [not run] fsverity utility required, skipped this test
generic/575        [not run] fsverity utility required, skipped this test
generic/576        [not run] fsverity utility required, skipped this test
generic/577        [not run] fsverity utility required, skipped this test
generic/578         1s
generic/579        [not run] fsverity utility required, skipped this test
generic/580        [not run] No encryption support for xfs
generic/581        [not run] No encryption support for xfs
generic/582        [not run] No encryption support for xfs
generic/583        [not run] No encryption support for xfs
generic/584        [not run] No encryption support for xfs
generic/585         1s
generic/586        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-append-write-fallocate-race not built
generic/587         2s
generic/588         3s
generic/589         13s
generic/590         73s
generic/591         2s
generic/592        [not run] No encryption support for xfs
generic/593        [not run] No encryption support for xfs
generic/594         2s
generic/595        [not run] No encryption support for xfs
generic/596        [not run] accton utility required, skipped this test
generic/597         2s
generic/598         2s
generic/599         2s
generic/600         5s
generic/601         5s
generic/602        [not run] No encryption support for xfs
generic/603         51s
generic/604         3s
generic/605        [not run] /dev/sdb xfs does not support -o dax=always
generic/606        [not run] /dev/sdb xfs does not support -o dax=always
generic/607         3s
generic/608        [not run] /dev/sdb xfs does not support -o dax=always
generic/609         2s
generic/610         3s
generic/611         1s
generic/612         2s
generic/613        [not run] No encryption support for xfs
generic/614         2s
generic/615         20s
generic/616        [not run] kernel does not support IO_URING
generic/617        [not run] kernel does not support IO_URING
generic/618         1s
generic/619         35s
generic/620         15s
generic/621        [not run] No encryption support for xfs
generic/622         28s
generic/623         3s
generic/624        [not run] fsverity utility required, skipped this test
generic/625        [not run] fsverity utility required, skipped this test
generic/626         2s
generic/627        [not run] kernel does not support asynchronous I/O
generic/628         3s
generic/629         3s
generic/630         28s
generic/631         31s
generic/632         2s
generic/633         1s
generic/634         2s
generic/635         2s
generic/636         4s
generic/637         4s
generic/638         2s
generic/639         3s
generic/640         3s
generic/641         5s
generic/642         259s
generic/643         3s
generic/644         1s
generic/645        [failed, exit status 1]- output mismatch (see /home/azureuser/xfstests-dev/results//generic/645.out.bad)
    --- tests/generic/645.out	2026-07-07 12:16:09.216601757 +0000
    +++ /home/azureuser/xfstests-dev/results//generic/645.out.bad	2026-07-07 14:25:40.686549507 +0000
    @@ -1,2 +1,4 @@
     QA output created by 645
     Silence is golden
    +idmapped-mounts.c: 6671: nested_userns - Success - failure: sys_mount_setattr
    +vfstest.c: 2418: run_test - Success - failure: test that nested user namespaces behave correctly when attached to idmapped mounts
    ...
    (Run 'diff -u /home/azureuser/xfstests-dev/tests/generic/645.out /home/azureuser/xfstests-dev/results//generic/645.out.bad'  to see the entire diff)

This test wants kernel fix:
      dacfd001eaf2 fs/mnt_idmapping.c: Return -EINVAL when no map is written

generic/646         3s
generic/647         1s
generic/648         218s
generic/649         3s
generic/650         46s
generic/651         2s
generic/652         3s
generic/653         2s
generic/654         3s
generic/655         6s
generic/656         2s
generic/657         3s
generic/658         3s
generic/659         3s
generic/660         2s
generic/661         4s
generic/662         4s
generic/663         3s
generic/664         3s
generic/665         3s
generic/666         4s
generic/667         4s
generic/668         3s
generic/669         4s
generic/670         7s
generic/671         19s
generic/672         39s
generic/673         5s
generic/674         4s
generic/675         3s
generic/676         2s
generic/677         7s
generic/678        [not run] kernel does not support IO_URING
generic/679        [not run] not suitable for this filesystem type: xfs
generic/680         1s
generic/681         3s
generic/682         2s
generic/683         2s
generic/684         1s
generic/685         2s
generic/686         1s
generic/687         1s
generic/688         1s
generic/689         1s
generic/690         2s
generic/691         24s
generic/692        [not run] fsverity utility required, skipped this test
generic/693        [not run] No encryption support for xfs
generic/694         1s
generic/695         1s
generic/696         2s
generic/697         1s
generic/698         2s
generic/699         1s
generic/700        [not run] Require selinux to be enabled
generic/701         1s
generic/702         2s
generic/703        [not run] kernel does not support IO_URING
generic/704         2s
generic/705         17s
generic/706         1s
generic/707         63s
generic/708         0s
generic/709        [not run] xfs_io exchangerange  support is missing
generic/710        [not run] xfs_io exchangerange  support is missing
generic/711         3s
generic/712        [not run] xfs_io exchangerange  support is missing
generic/713        [not run] xfs_io exchangerange  -s 64k -l 64k support is missing
generic/714        [not run] xfs_io exchangerange  support is missing
generic/715        [not run] xfs_io exchangerange  -s 64k -l 64k support is missing
generic/716        [not run] xfs_io exchangerange  support is missing
generic/717        [not run] xfs_io exchangerange  support is missing
generic/718        [not run] xfs_io exchangerange  support is missing
generic/719        [not run] xfs_io exchangerange  support is missing
generic/720        [not run] xfs_io exchangerange  support is missing
generic/721        [not run] xfs_io startupdate  support is missing
generic/722        [not run] xfs_io exchangerange  support is missing
generic/723        [not run] xfs_io exchangerange  support is missing
generic/724        [not run] xfs_io exchangerange  support is missing
generic/725        [not run] xfs_io exchangerange  support is missing
generic/726        [not run] xfs_io exchangerange  support is missing
generic/727        [not run] xfs_io exchangerange  support is missing
generic/728         5s
generic/729         1s
generic/730         3s
generic/731         2s
generic/732         2s
generic/733         9s
generic/734         1s
generic/735         1s
generic/736         1s
generic/737        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-write-verify not built
generic/738         19s
generic/739        [not run] No encryption support for xfs
generic/740         23s
generic/741         2s
generic/742         22s
generic/743        [not run] xfs_io madvise doesn't support -R
generic/744        [not run] xfs does not support duplicate fsid
generic/745         11s
generic/746         58s
generic/747         110s
generic/748         51s
generic/749         6s
generic/750         95s
generic/751         135s
generic/752        [not run] xfs_io exchangerange  support is missing
generic/753        _check_xfs_filesystem: filesystem on /dev/sdb is inconsistent (r)
(see /home/azureuser/xfstests-dev/results//generic/753.full for details)

generic/754        _check_xfs_filesystem: filesystem on /dev/sdb is inconsistent (r)
(see /home/azureuser/xfstests-dev/results//generic/754.full for details)


HINT: You _MAY_ be missing kernel fix:
      38de567906d95 xfs: allow symlinks with short remote targets

HINT: You _MAY_ be missing xfsprogs fix:
      XXXXXXXXXXXXX xfs_repair: small remote symlinks are ok

generic/755         3s
generic/756        [not run] statx does not support STATX_MNT_ID_UNIQUE on this kernel
generic/757        [not run] aio-dio utilities required
generic/758         2s
generic/759         29s
generic/760         28s
generic/761         28s
generic/762         2s
generic/763         1s
generic/764         1s
generic/765        [not run] write atomic not supported by this block device
generic/766        [not run] This test requires a valid $SCRATCH_LOGDEV
generic/767        [not run] write atomic not supported by this block device
generic/768        [not run] xfs_io pwrite doesn't support -A
generic/769        [not run] xfs_io pwrite doesn't support -A
generic/770        [not run] xfs_io pwrite doesn't support -A
generic/771         2s
generic/772        [not run] /home/azureuser/xfstests-dev/src/file_attr not built
generic/773        [not run] write atomic not supported by this block device
generic/774        [not run] kernel does not support asynchronous I/O
generic/775        [not run] xfs_io pwrite doesn't support -A
generic/776        [not run] write atomic not supported by this block device
generic/777        [not run] xfs does not support connectable file handles
generic/778        [not run] xfs_io pwrite doesn't support -A
generic/779         1s
generic/781        [not run] This test requires zoned loopback device support
generic/782         2s
generic/783        [not run] xfs does not support casefold feature
generic/784         2s
generic/785         2s
generic/786        [not run] Require fcntl setdeleg support
generic/787        [not run] Require fcntl setdeleg support
generic/788        [not run] fsverity utility required, skipped this test
generic/789         1s
generic/790         2s
generic/791        [not run] xfs_io healthmon -p support is missing
generic/792         2s
generic/793        [not run] this test requires a zoned block device
generic/794        - output mismatch (see /home/azureuser/xfstests-dev/results//generic/794.out.bad)
    --- tests/generic/794.out	2026-07-07 12:16:09.224601711 +0000
    +++ /home/azureuser/xfstests-dev/results//generic/794.out.bad	2026-07-07 14:48:18.670439602 +0000
    @@ -1,4 +1,8 @@
     QA output created by 794
     append_write
    +FAIL: non-zero data in gap [4080,4096) after shutdown+remount
    +000000 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a  >ZZZZZZZZZZZZZZZZ<
    +*
    +001000
     truncate_up
    ...
    (Run 'diff -u /home/azureuser/xfstests-dev/tests/generic/794.out /home/azureuser/xfstests-dev/results//generic/794.out.bad'  to see the entire diff)
xfs/001             6s
xfs/002            [not run] v4 file systems not supported
xfs/003             1s
xfs/004             1s
xfs/005             2s
xfs/006             3s
xfs/007             3s
xfs/008             1s
xfs/009             2s
xfs/010             8s
xfs/011             19s
xfs/012             1s
xfs/013             90s
xfs/014             8s
xfs/015             5s
xfs/016            [not run] Cannot run this test using log MKFS_OPTIONS specified
xfs/017             6s
xfs/018            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/019             1s
xfs/020             1s
xfs/021             2s
xfs/026            [not run] xfsdump not found
xfs/027            [not run] xfsdump not found
xfs/028            [not run] xfsdump not found
xfs/029             1s
xfs/030             9s
xfs/031             8s
xfs/032             24s
xfs/033             5s
xfs/034             2s
xfs/035            [not run] xfsdump not found
xfs/040            [not run] Can't run libxfs-diff without KWORKAREA set
xfs/041             18s
xfs/042             24s
xfs/044            [not run] This test requires a valid $SCRATCH_LOGDEV
xfs/045             3s
xfs/046            [not run] xfsdump not found
xfs/047            [not run] xfsdump not found
xfs/048             1s
xfs/049             10s
xfs/050             10s
xfs/051            [not run] sysfs attribute 'debug/log_recovery_delay' is not supported
xfs/052             1s
xfs/053             2s
xfs/054             1s
xfs/056            [not run] xfsdump not found
xfs/057            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/058             2s
xfs/059            [not run] xfsdump not found
xfs/060            [not run] xfsdump not found
xfs/061            [not run] xfsdump not found
xfs/062             6s
xfs/063            [not run] xfsdump not found
xfs/064            [not run] xfsdump not found
xfs/065            [not run] xfsdump not found
xfs/066            [not run] xfsdump not found
xfs/067             2s
xfs/068            [not run] xfsdump not found
xfs/069             2s
xfs/070             3s
xfs/071             1s
xfs/072             2s
xfs/073             27s
xfs/074             2s
xfs/075             1s
xfs/076             10s
xfs/077             17s
xfs/078             6s
xfs/079             39s
xfs/080             4s
xfs/081             6s
xfs/082             1s
xfs/084             59s
xfs/090            [not run] External volumes not in use, skipped this test
xfs/092             1s
xfs/094            [not run] External volumes not in use, skipped this test
xfs/095            [not run] v4 file systems not supported
xfs/096            [not run] v4 file systems not supported
xfs/103             1s
xfs/104             14s
xfs/106             17s
xfs/107            [not run] xfs_io allocsp  failed (old kernel/wrong fs?)
xfs/108             3s
xfs/109             13s
xfs/110             5s
xfs/114             3s
xfs/115             2s
xfs/116             2s
xfs/118             109s
xfs/119             4s
xfs/121             7s
xfs/122            [not run] indent utility required, skipped this test
xfs/127             15s
xfs/128             25s
xfs/129             7s
xfs/131            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/132            [not run] v4 file systems not supported
xfs/135             22s
xfs/137             58s
xfs/138             3s
xfs/139             76s
xfs/140             202s
xfs/141            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/142            [not run] External volumes not in use, skipped this test
xfs/143            [not run] External volumes not in use, skipped this test
xfs/144             2s
xfs/145             1s
xfs/146            [not run] External volumes not in use, skipped this test
xfs/147            [not run] External volumes not in use, skipped this test
xfs/148            [not run] v4 file systems not supported
xfs/149             1s
xfs/150             2s
xfs/151             3s
xfs/152             25s
xfs/153             8s
xfs/154             2s
xfs/155             15s
xfs/156             11s
xfs/157             4s
xfs/158             5s
xfs/159             2s
xfs/160             5s
xfs/161             3s
xfs/162             3s
xfs/163             2s
xfs/164             2s
xfs/165             1s
xfs/166             1s
xfs/167             24s
xfs/168             24s
xfs/169             19s
xfs/170             6s
xfs/174             7s
xfs/175             1s
xfs/176             8s
xfs/177             16s
xfs/178             3s
xfs/179             4s
xfs/180             3s
xfs/181             13s
xfs/182             9s
xfs/183             4s
xfs/184             3s
xfs/185             3s
xfs/186            [not run] attr v1 not supported on /dev/sdb
xfs/187            [not run] External volumes not in use, skipped this test
xfs/188             5s
xfs/189            [not run] noattr2 mount option not supported on /dev/sdb
xfs/190             2s
xfs/191             3s
xfs/192             7s
xfs/193             3s
xfs/194            [not run] v4 file systems not supported
xfs/195            [not run] xfsdump utility required, skipped this test
xfs/196            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/197            [not run] This test is only valid on 32 bit machines
xfs/198             6s
xfs/199            [not run] v4 file systems not supported
xfs/200             5s
xfs/201             7s
xfs/202             1s
xfs/203             2s
xfs/204             8s
xfs/205             3s
xfs/206             1s
xfs/207             3s
xfs/208             4s
xfs/209             2s
xfs/210             2s
xfs/212             3s
xfs/213             3s
xfs/214             3s
xfs/215             3s
xfs/216             3s
xfs/217             6s
xfs/218             3s
xfs/219             3s
xfs/220             2s
xfs/221             3s
xfs/222             40s
xfs/223             4s
xfs/224             4s
xfs/225             3s
xfs/226             3s
xfs/227             34s
xfs/228             4s
xfs/229             11s
xfs/230             4s
xfs/231             5s
xfs/232             7s
xfs/233             49s
xfs/234            \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0

[-- Attachment #3: fstests-auto.log --]
[-- Type: text/plain, Size: 70300 bytes --]

FSTYP         -- xfs (non-debug)
PLATFORM      -- Linux/x86_64 hamza-azl3-fstests 6.6.144.1-2.azl3 #1 SMP PREEMPT_DYNAMIC Mon Jul  6 12:10:38 UTC 2026
MKFS_OPTIONS  -- -f /dev/sdb
MOUNT_OPTIONS -- /dev/sdb /mnt/scratch

generic/001         4s
generic/002         1s
generic/003         11s
generic/004         1s
generic/005         1s
generic/006         1s
generic/007         1s
generic/008         1s
generic/009         1s
generic/010        [not run] /home/azureuser/xfstests-dev/src/dbtest not built
generic/011         2s
generic/012         1s
generic/013         5s
generic/014         4s
generic/015         2s
generic/016         1s
generic/017         119s
generic/018         4s
generic/020         4s
generic/021         2s
generic/022         2s
generic/023         1s
generic/024         1s
generic/025         1s
generic/026         3s
generic/027         75s
generic/028         6s
generic/029         2s
generic/030         2s
generic/031         1s
generic/032         7s
generic/033         1s
generic/034         2s
generic/035         1s
generic/036        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-fcntl-race not built
generic/037         6s
generic/038         35s
generic/039         2s
generic/040         10s
generic/041         11s
generic/042         35s
generic/043         16s
generic/044         18s
generic/045         17s
generic/046         18s
generic/047         31s
generic/048         155s
generic/049         12s
generic/050         3s
generic/051         115s
generic/052         2s
generic/053         2s
generic/054         71s
generic/055         47s
generic/056         2s
generic/057         2s
generic/058         1s
generic/059         3s
generic/060         1s
generic/061         1s
generic/062        - output mismatch (see /home/azureuser/xfstests-dev/results//generic/062.out.bad)
    --- tests/generic/062.out	2026-07-07 12:16:09.188601915 +0000
    +++ /home/azureuser/xfstests-dev/results//generic/062.out.bad	2026-07-07 19:39:44.410949971 +0000
    @@ -649,6 +649,7 @@
     SCRATCH_MNT/lnk
     SCRATCH_MNT/reg
     *** restore everything
    +Warning: option --restore=file is unsafe without option -P (--physical) as it traverses symbolic links in pathnames
     *** compare before and after backups
     
     *** unmount
    ...
    (Run 'diff -u /home/azureuser/xfstests-dev/tests/generic/062.out /home/azureuser/xfstests-dev/results//generic/062.out.bad'  to see the entire diff)
generic/063         1s
generic/064         2s
generic/065         2s
generic/066         2s
generic/067         2s
generic/068         45s
generic/069         5s
generic/070         3s
generic/071         3s
generic/072         13s
generic/073         2s
generic/074         98s
generic/075         18s
generic/076         4s
generic/077         8s
generic/078         1s
generic/079         1s
generic/080         3s
generic/081         4s
generic/082         2s
generic/083         14s
generic/084         8s
generic/085         11s
generic/086         1s
generic/087         0s
generic/088         1s
generic/089         4s
generic/090         2s
generic/091         48s
generic/092         0s
generic/093         1s
generic/094         54s
generic/095        [not run] kernel does not support asynchronous I/O
generic/096         1s
generic/097         1s
generic/098         2s
generic/099         1s
generic/100         14s
generic/101         2s
generic/102         3s
generic/103         2s
generic/104         1s
generic/105         2s
generic/106         2s
generic/107         2s
generic/108         3s
generic/109         2s
generic/110         1s
generic/111         1s
generic/112        [not run] kernel does not support asynchronous I/O
generic/113        [not run] kernel does not support asynchronous I/O
generic/114        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-eof-race not built
generic/115         1s
generic/116         1s
generic/117         4s
generic/118         2s
generic/119         1s
generic/120         16s
generic/121         2s
generic/122         1s
generic/123         1s
generic/124         3s
generic/125         62s
generic/126         1s
generic/127         268s
generic/128         2s
generic/129         7s
generic/130         11s
generic/131         1s
generic/132         11s
generic/133         105s
generic/134         1s
generic/135         1s
generic/136         2s
generic/137         15s
generic/138         1s
generic/139         2s
generic/140         1s
generic/141         1s
generic/142         3s
generic/143         49s
generic/144         2s
generic/145         1s
generic/146         1s
generic/147         1s
generic/148         1s
generic/149         2s
generic/150         1s
generic/151         1s
generic/152         2s
generic/153         1s
generic/154         2s
generic/155         6s
generic/156         2s
generic/157         3s
generic/158         2s
generic/159         1s
generic/160         1s
generic/161         5s
generic/162         18s
generic/163         31s
generic/164         7s
generic/165         18s
generic/166         43s
generic/167         8s
generic/168         39s
generic/169         2s
generic/170         86s
generic/171         3s
generic/172         8s
generic/173         3s
generic/174         4s
generic/175         94s
generic/176         212s
generic/177         2s
generic/178         2s
generic/179         1s
generic/180         2s
generic/181         1s
generic/182         3s
generic/183         3s
generic/184         1s
generic/185         3s
generic/186         20s
generic/187         18s
generic/188         3s
generic/189         3s
generic/190         3s
generic/191         3s
generic/192         6s
generic/193         2s
generic/194         3s
generic/195         4s
generic/196         3s
generic/197         3s
generic/198        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aiodio_sparse2 not built
generic/199         4s
generic/200         3s
generic/201         3s
generic/202         3s
generic/203         2s
generic/204         18s
generic/205         2s
generic/206         3s
generic/207        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-extend-stat not built
generic/208        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-invalidate-failure not built
generic/209        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-invalidate-readahead not built
generic/210        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-subblock-eof-read not built
generic/211         7s
generic/212        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-io-setup-with-nonwritable-context-pointer not built
generic/213         1s
generic/214         1s
generic/215         3s
generic/216         5s
generic/217         5s
generic/218         3s
generic/219         2s
generic/220         2s
generic/221         2s
generic/222         2s
generic/223         8s
generic/224         31s
generic/225         103s
generic/226         8s
generic/227         2s
generic/228         1s
generic/229         8s
generic/230         14s
generic/231         87s
generic/232         12s
generic/233         14s
generic/234         17s
generic/235         1s
generic/236         2s
generic/237         1s
generic/238         8s
generic/239        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-hole-filling-race not built
generic/240        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aiodio_sparse2 not built
generic/241        [not run] dbench not found
generic/242         49s
generic/243         51s
generic/244         5s
generic/245         2s
generic/246         0s
generic/247         22s
generic/248         1s
generic/249         1s
generic/250         3s
generic/251         36s
generic/252        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aiocp not built
generic/253         3s
generic/254         3s
generic/255         2s
generic/256         31s
generic/257         1s
generic/258         1s
generic/259         3s
generic/260         51s
generic/261         12s
generic/262         6s
generic/263         31s
generic/264         3s
generic/265         4s
generic/266         3s
generic/267         9s
generic/268         9s
generic/269         24s
generic/270         52s
generic/271         4s
generic/272         4s
generic/273         7s
generic/274         15s
generic/275         26s
generic/276         3s
generic/277         3s
generic/278         4s
generic/279         3s
generic/280         4s
generic/281         10s
generic/282         6s
generic/283         4s
generic/284         3s
generic/285         1s
generic/286         1s
generic/287         3s
generic/288         1s
generic/289         3s
generic/290         3s
generic/291         3s
generic/292         3s
generic/293         4s
generic/294         1s
generic/295         4s
generic/296         3s
generic/297         51s
generic/298         51s
generic/299        [not run] kernel does not support asynchronous I/O
generic/300        [not run] kernel does not support asynchronous I/O
generic/301         3s
generic/302         26s
generic/303         1s
generic/304         1s
generic/305         2s
generic/306         2s
generic/307         3s
generic/308         1s
generic/309         2s
generic/310         64s
generic/311         175s
generic/312         1s
generic/313         5s
generic/314         1s
generic/315         1s
generic/316         1s
generic/317         1s
generic/318         2s
generic/319         1s
generic/320         27s
generic/321         3s
generic/322         3s
generic/323        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-last-ref-held-by-io not built
generic/324         13s
generic/325         2s
generic/326         3s
generic/327         2s
generic/328         3s
generic/329        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aiocp not built
generic/330        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aiocp not built
generic/331        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aiocp not built
generic/332        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aiocp not built
generic/333         21s
generic/334         9s
generic/335         2s
generic/336         2s
generic/337         1s
generic/338         2s
generic/339         4s
generic/340         2s
generic/341         2s
generic/342         2s
generic/343         2s
generic/344         2s
generic/345         4s
generic/346         2s
generic/347         68s
generic/348         2s
generic/352         16s
generic/353         2s
generic/354         3s
generic/355         2s
generic/356         3s
generic/357         6s
generic/358         12s
generic/359         4s
generic/360         1s
generic/361         4s
generic/362         1s
generic/363        [failed, exit status 1]- output mismatch (see /home/azureuser/xfstests-dev/results//generic/363.out.bad)
    --- tests/generic/363.out	2026-07-07 12:16:09.204601825 +0000
    +++ /home/azureuser/xfstests-dev/results//generic/363.out.bad	2026-07-07 20:34:03.815830171 +0000
    @@ -1,2 +1,404 @@
     QA output created by 363
     fsx -q -S 0 -e 1 -N 100000
    +READ BAD DATA: offset = 0x1c1b1, size = 0xe05b, fname = /mnt/test/junk
    +OFFSET      GOOD    BAD     RANGE
    +0x29227     0x0000  0x7a6b  0x0
    +operation# (mod 256) for the bad data may be 107
    +0x29228     0x0000  0x6b24  0x1
    ...
    (Run 'diff -u /home/azureuser/xfstests-dev/tests/generic/363.out /home/azureuser/xfstests-dev/results//generic/363.out.bad'  to see the entire diff)
generic/364         11s
generic/365        - output mismatch (see /home/azureuser/xfstests-dev/results//generic/365.out.bad)
    --- tests/generic/365.out	2026-07-07 12:16:09.204601825 +0000
    +++ /home/azureuser/xfstests-dev/results//generic/365.out.bad	2026-07-07 20:34:16.871752975 +0000
    @@ -2,14 +2,12 @@
     test incorrect setting of high key
     	XXXX: XXXX:XXXX [XXXX..XXXX]: USED XXXX
     test missing free space extent
    -	XXXX: XXXX:XXXX [XXXX..XXXX]: FREE XXXX
     test whatever came before freesp
     	XXXX: XXXX:XXXX [XXXX..XXXX]: USED XXXX
     test whatever came after freesp
    ...
    (Run 'diff -u /home/azureuser/xfstests-dev/tests/generic/365.out /home/azureuser/xfstests-dev/results//generic/365.out.bad'  to see the entire diff)

HINT: You _MAY_ be missing kernel fix:
      68415b349f3f xfs: Fix the owner setting issue for rmap query in xfs fsmap

HINT: You _MAY_ be missing kernel fix:
      ca6448aed4f1 xfs: Fix missing interval for missing_owner in xfs fsmap

generic/366        [not run] kernel does not support asynchronous I/O
generic/368        [not run] filesystem doesn't support -o inlinecrypt
generic/369        [not run] filesystem doesn't support -o inlinecrypt
generic/370         6s
generic/371         20s
generic/372         4s
generic/373         2s
generic/374         2s
generic/375         1s
generic/376         2s
generic/377         2s
generic/378         1s
generic/379         4s
generic/380         4s
generic/381         3s
generic/382         8s
generic/383         4s
generic/384         2s
generic/385         3s
generic/386         3s
generic/387         32s
generic/388         500s
generic/389         1s
generic/390         2s
generic/391         3s
generic/392         11s
generic/393         5s
generic/394         1s
generic/395        [not run] No encryption support for xfs
generic/396        [not run] No encryption support for xfs
generic/397        [not run] No encryption support for xfs
generic/398        [not run] No encryption support for xfs
generic/399        [not run] No encryption support for xfs
generic/400         3s
generic/401         3s
generic/402         5s
generic/403         3s
generic/404         36s
generic/405         63s
generic/406         3s
generic/407         2s
generic/408         2s
generic/409         19s
generic/410         38s
generic/411         2s
generic/412         1s
generic/413        [not run] /dev/sdb xfs does not support -o dax
generic/414         3s
generic/415         110s
generic/416         69s
generic/417         15s
generic/418         22s
generic/419        [not run] No encryption support for xfs
generic/420         1s
generic/421        [not run] No encryption support for xfs
generic/422         2s
generic/423         1s
generic/424         1s
generic/425         2s
generic/426         2s
generic/427        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-eof-race not built
generic/428         1s
generic/429        [not run] No encryption support for xfs
generic/430         1s
generic/431         1s
generic/432         0s
generic/433         1s
generic/434         1s
generic/435        [not run] No encryption support for xfs
generic/436         1s
generic/437         2s
generic/438         679s
generic/439         2s
generic/440        [not run] No encryption support for xfs
generic/441         1s
generic/443         1s
generic/444         1s
generic/445         1s
generic/446         9s
generic/447         177s
generic/448         1s
generic/449         32s
generic/450         1s
generic/451        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-cycle-write not built
generic/452         1s
generic/453         2s
generic/454         2s
generic/455        [not run] This test requires a valid $LOGWRITES_DEV
generic/456         2s
generic/457        [not run] This test requires a valid $LOGWRITES_DEV
generic/458         2s
generic/459        [not run] thin_check utility required, skipped this test
generic/460         15s
generic/461         24s
generic/462        [not run] /dev/sdb xfs does not support -o dax
generic/463        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-cow-race not built
generic/464         65s
generic/465        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-append-write-read-race not built
generic/466         7s
generic/467         2s
generic/468         5s
generic/469         1s
generic/470        [not run] This test requires a valid $LOGWRITES_DEV
generic/471         1s
generic/472         2s
generic/474         2s
generic/475         441s
generic/476         85s
generic/477         3s
generic/478         10s
generic/479         5s
generic/480         1s
generic/481         2s
generic/482        [not run] This test requires a valid $LOGWRITES_DEV
generic/483         4s
generic/484         2s
generic/485         1s
generic/486         2s
generic/487        [not run] This test requires a valid $SCRATCH_LOGDEV
generic/488         2s
generic/489         2s
generic/490         1s
generic/491         1s
generic/492         2s
generic/493         3s
generic/494         2s
generic/495         3s
generic/496         2s
generic/497         3s
generic/498         2s
generic/499         1s
generic/500         26s
generic/501         84s
generic/502         2s
generic/503         6s
generic/504         1s
generic/505         2s
generic/506         3s
generic/507         7s
generic/508         3s
generic/509         2s
generic/510         2s
generic/511         3s
generic/512         2s
generic/513         3s
generic/514         2s
generic/515         5s
generic/516         1s
generic/517         2s
generic/518         3s
generic/519         1s
generic/520         33s
generic/523         2s
generic/524         17s
generic/525         4s
generic/526         2s
generic/527         2s
generic/528         1s
generic/529         1s
generic/530         13s
generic/531         17s
generic/532         1s
generic/533         1s
generic/534         4s
generic/535         3s
generic/536         2s
generic/537         2s
generic/538        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-write-verify not built
generic/539         1s
generic/540         4s
generic/541         3s
generic/542         5s
generic/543         9s
generic/544         8s
generic/545         1s
generic/546         5s
generic/547         4s
generic/548        [not run] No encryption support for xfs
generic/549        [not run] No encryption support for xfs
generic/550        [not run] No encryption support for xfs
generic/551        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-write-verify not built
generic/552         2s
generic/553         1s
generic/554         2s
generic/555         1s
generic/556        [not run] xfs does not support casefold feature
generic/557         1s
generic/558         67s
generic/559        [not run] duperemove utility required, skipped this test
generic/560        [not run] duperemove utility required, skipped this test
generic/561        [not run] duperemove utility required, skipped this test
generic/562         63s
generic/563         3s
generic/564         1s
generic/565        [not run] xfs does not support cross-device copy_file_range
generic/566         1s
generic/567         2s
generic/568         1s
generic/569         2s
generic/570        [not run] userspace hibernation to swap is enabled
generic/571         7s
generic/572        [not run] fsverity utility required, skipped this test
generic/573        [not run] fsverity utility required, skipped this test
generic/574        [not run] fsverity utility required, skipped this test
generic/575        [not run] fsverity utility required, skipped this test
generic/576        [not run] fsverity utility required, skipped this test
generic/577        [not run] fsverity utility required, skipped this test
generic/578         2s
generic/579        [not run] fsverity utility required, skipped this test
generic/580        [not run] No encryption support for xfs
generic/581        [not run] No encryption support for xfs
generic/582        [not run] No encryption support for xfs
generic/583        [not run] No encryption support for xfs
generic/584        [not run] No encryption support for xfs
generic/585         2s
generic/586        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-append-write-fallocate-race not built
generic/587         3s
generic/588         3s
generic/589         11s
generic/590         129s
generic/591         1s
generic/592        [not run] No encryption support for xfs
generic/593        [not run] No encryption support for xfs
generic/594         3s
generic/595        [not run] No encryption support for xfs
generic/596        [not run] accton utility required, skipped this test
generic/597         1s
generic/598         2s
generic/599         2s
generic/600         4s
generic/601         5s
generic/602        [not run] No encryption support for xfs
generic/603         52s
generic/604         2s
generic/605        [not run] /dev/sdb xfs does not support -o dax=always
generic/606        [not run] /dev/sdb xfs does not support -o dax=always
generic/607         2s
generic/608        [not run] /dev/sdb xfs does not support -o dax=always
generic/609         1s
generic/610         2s
generic/611         2s
generic/612         1s
generic/613        [not run] No encryption support for xfs
generic/614         2s
generic/615         19s
generic/616        [not run] kernel does not support IO_URING
generic/617        [not run] kernel does not support IO_URING
generic/618         2s
generic/619         24s
generic/620         15s
generic/621        [not run] No encryption support for xfs
generic/622         28s
generic/623         2s
generic/624        [not run] fsverity utility required, skipped this test
generic/625        [not run] fsverity utility required, skipped this test
generic/626         2s
generic/627        [not run] kernel does not support asynchronous I/O
generic/628         4s
generic/629         3s
generic/630         32s
generic/631         32s
generic/632         1s
generic/633         1s
generic/634         2s
generic/635         2s
generic/636         2s
generic/637         1s
generic/638         1s
generic/639         1s
generic/640         2s
generic/641         3s
generic/642         214s
generic/643         2s
generic/644         1s
generic/645        [failed, exit status 1]- output mismatch (see /home/azureuser/xfstests-dev/results//generic/645.out.bad)
    --- tests/generic/645.out	2026-07-07 12:16:09.216601757 +0000
    +++ /home/azureuser/xfstests-dev/results//generic/645.out.bad	2026-07-07 21:37:19.113261923 +0000
    @@ -1,2 +1,4 @@
     QA output created by 645
     Silence is golden
    +idmapped-mounts.c: 6671: nested_userns - Success - failure: sys_mount_setattr
    +vfstest.c: 2418: run_test - Success - failure: test that nested user namespaces behave correctly when attached to idmapped mounts
    ...
    (Run 'diff -u /home/azureuser/xfstests-dev/tests/generic/645.out /home/azureuser/xfstests-dev/results//generic/645.out.bad'  to see the entire diff)

This test wants kernel fix:
      dacfd001eaf2 fs/mnt_idmapping.c: Return -EINVAL when no map is written

generic/646         2s
generic/647         1s
generic/648         176s
generic/649         2s
generic/650         47s
generic/651         2s
generic/652         2s
generic/653         3s
generic/654         2s
generic/655         6s
generic/656         1s
generic/657         3s
generic/658         3s
generic/659         3s
generic/660         3s
generic/661         4s
generic/662         3s
generic/663         3s
generic/664         3s
generic/665         3s
generic/666         4s
generic/667         4s
generic/668         3s
generic/669         4s
generic/670         7s
generic/671         17s
generic/672         41s
generic/673         4s
generic/674         4s
generic/675         3s
generic/676         2s
generic/677         7s
generic/678        [not run] kernel does not support IO_URING
generic/679        [not run] not suitable for this filesystem type: xfs
generic/680         1s
generic/681         2s
generic/682         3s
generic/683         2s
generic/684         1s
generic/685         2s
generic/686         1s
generic/687         2s
generic/688         1s
generic/689         0s
generic/690         1s
generic/691         25s
generic/692        [not run] fsverity utility required, skipped this test
generic/693        [not run] No encryption support for xfs
generic/694         1s
generic/695         2s
generic/696         2s
generic/697         0s
generic/698         2s
generic/699         2s
generic/700        [not run] Require selinux to be enabled
generic/701         1s
generic/702         2s
generic/703        [not run] kernel does not support IO_URING
generic/704         3s
generic/705         17s
generic/706         1s
generic/707         65s
generic/708         1s
generic/709        [not run] xfs_io exchangerange  support is missing
generic/710        [not run] xfs_io exchangerange  support is missing
generic/711         3s
generic/712        [not run] xfs_io exchangerange  support is missing
generic/713        [not run] xfs_io exchangerange  -s 64k -l 64k support is missing
generic/714        [not run] xfs_io exchangerange  support is missing
generic/715        [not run] xfs_io exchangerange  -s 64k -l 64k support is missing
generic/716        [not run] xfs_io exchangerange  support is missing
generic/717        [not run] xfs_io exchangerange  support is missing
generic/718        [not run] xfs_io exchangerange  support is missing
generic/719        [not run] xfs_io exchangerange  support is missing
generic/720        [not run] xfs_io exchangerange  support is missing
generic/721        [not run] xfs_io startupdate  support is missing
generic/722        [not run] xfs_io exchangerange  support is missing
generic/723        [not run] xfs_io exchangerange  support is missing
generic/724        [not run] xfs_io exchangerange  support is missing
generic/725        [not run] xfs_io exchangerange  support is missing
generic/726        [not run] xfs_io exchangerange  support is missing
generic/727        [not run] xfs_io exchangerange  support is missing
generic/728         5s
generic/729         1s
generic/730         3s
generic/731         2s
generic/732         2s
generic/733         9s
generic/734         1s
generic/735         1s
generic/736         1s
generic/737        [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aio-dio-write-verify not built
generic/738         13s
generic/739        [not run] No encryption support for xfs
generic/740         45s
generic/741         3s
generic/742         10s
generic/743        [not run] xfs_io madvise doesn't support -R
generic/744        [not run] xfs does not support duplicate fsid
generic/745         13s
generic/746         40s
generic/747         107s
generic/748         57s
generic/749         6s
generic/750         44s
generic/751         116s
generic/752        [not run] xfs_io exchangerange  support is missing
generic/753        _check_xfs_filesystem: filesystem on /dev/sdb is inconsistent (r)
(see /home/azureuser/xfstests-dev/results//generic/753.full for details)

generic/754        _check_xfs_filesystem: filesystem on /dev/sdb is inconsistent (r)
(see /home/azureuser/xfstests-dev/results//generic/754.full for details)


HINT: You _MAY_ be missing kernel fix:
      38de567906d95 xfs: allow symlinks with short remote targets

HINT: You _MAY_ be missing xfsprogs fix:
      XXXXXXXXXXXXX xfs_repair: small remote symlinks are ok

generic/755         3s
generic/756        [not run] statx does not support STATX_MNT_ID_UNIQUE on this kernel
generic/757        [not run] aio-dio utilities required
generic/758         1s
generic/759         31s
generic/760         28s
generic/761         27s
generic/762         2s
generic/763         1s
generic/764         1s
generic/765        [not run] write atomic not supported by this block device
generic/766        [not run] This test requires a valid $SCRATCH_LOGDEV
generic/767        [not run] write atomic not supported by this block device
generic/768        [not run] xfs_io pwrite doesn't support -A
generic/769        [not run] xfs_io pwrite doesn't support -A
generic/770        [not run] xfs_io pwrite doesn't support -A
generic/771         2s
generic/772        [not run] /home/azureuser/xfstests-dev/src/file_attr not built
generic/773        [not run] write atomic not supported by this block device
generic/774        [not run] kernel does not support asynchronous I/O
generic/775        [not run] xfs_io pwrite doesn't support -A
generic/776        [not run] write atomic not supported by this block device
generic/777        [not run] xfs does not support connectable file handles
generic/778        [not run] xfs_io pwrite doesn't support -A
generic/779         1s
generic/781        [not run] This test requires zoned loopback device support
generic/782         1s
generic/783        [not run] xfs does not support casefold feature
generic/784         2s
generic/785         1s
generic/786        [not run] Require fcntl setdeleg support
generic/787        [not run] Require fcntl setdeleg support
generic/788        [not run] fsverity utility required, skipped this test
generic/789         1s
generic/790         2s
generic/791        [not run] xfs_io healthmon -p support is missing
generic/792         2s
generic/793        [not run] this test requires a zoned block device
generic/794        - output mismatch (see /home/azureuser/xfstests-dev/results//generic/794.out.bad)
    --- tests/generic/794.out	2026-07-07 12:16:09.224601711 +0000
    +++ /home/azureuser/xfstests-dev/results//generic/794.out.bad	2026-07-07 21:57:37.725999223 +0000
    @@ -1,4 +1,8 @@
     QA output created by 794
     append_write
    +FAIL: non-zero data in gap [4080,4096) after shutdown+remount
    +000000 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a  >ZZZZZZZZZZZZZZZZ<
    +*
    +001000
     truncate_up
    ...
    (Run 'diff -u /home/azureuser/xfstests-dev/tests/generic/794.out /home/azureuser/xfstests-dev/results//generic/794.out.bad'  to see the entire diff)
xfs/001             6s
xfs/002            [not run] v4 file systems not supported
xfs/003             1s
xfs/004             1s
xfs/005             1s
xfs/006             4s
xfs/007             3s
xfs/008             1s
xfs/009             1s
xfs/010             4s
xfs/011             18s
xfs/012             1s
xfs/013             96s
xfs/014             8s
xfs/015             5s
xfs/016            [not run] Cannot run this test using log MKFS_OPTIONS specified
xfs/017             7s
xfs/018            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/019             4s
xfs/020             1s
xfs/021             3s
xfs/026            [not run] xfsdump not found
xfs/027            [not run] xfsdump not found
xfs/028            [not run] xfsdump not found
xfs/029             4s
xfs/030             19s
xfs/031             9s
xfs/032             42s
xfs/033             7s
xfs/034             2s
xfs/035            [not run] xfsdump not found
xfs/040            [not run] Can't run libxfs-diff without KWORKAREA set
xfs/041             19s
xfs/042             24s
xfs/044            [not run] This test requires a valid $SCRATCH_LOGDEV
xfs/045             5s
xfs/046            [not run] xfsdump not found
xfs/047            [not run] xfsdump not found
xfs/048             0s
xfs/049             13s
xfs/050             10s
xfs/051            [not run] sysfs attribute 'debug/log_recovery_delay' is not supported
xfs/052             1s
xfs/053             2s
xfs/054             1s
xfs/056            [not run] xfsdump not found
xfs/057            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/058             2s
xfs/059            [not run] xfsdump not found
xfs/060            [not run] xfsdump not found
xfs/061            [not run] xfsdump not found
xfs/062             6s
xfs/063            [not run] xfsdump not found
xfs/064            [not run] xfsdump not found
xfs/065            [not run] xfsdump not found
xfs/066            [not run] xfsdump not found
xfs/067             2s
xfs/068            [not run] xfsdump not found
xfs/069             3s
xfs/070             2s
xfs/071             2s
xfs/072             1s
xfs/073             29s
xfs/074             1s
xfs/075             1s
xfs/076             10s
xfs/077             18s
xfs/078             7s
xfs/079             30s
xfs/080             3s
xfs/081             6s
xfs/082             1s
xfs/084             60s
xfs/090            [not run] External volumes not in use, skipped this test
xfs/092             2s
xfs/094            [not run] External volumes not in use, skipped this test
xfs/095            [not run] v4 file systems not supported
xfs/096            [not run] v4 file systems not supported
xfs/103             2s
xfs/104             13s
xfs/106             18s
xfs/107            [not run] xfs_io allocsp  failed (old kernel/wrong fs?)
xfs/108             3s
xfs/109             13s
xfs/110             5s
xfs/114             3s
xfs/115             2s
xfs/116             2s
xfs/118             109s
xfs/119             4s
xfs/121             7s
xfs/122            [not run] indent utility required, skipped this test
xfs/127             15s
xfs/128             25s
xfs/129             7s
xfs/131            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/132            [not run] v4 file systems not supported
xfs/135             28s
xfs/137             60s
xfs/138             4s
xfs/139             75s
xfs/140             190s
xfs/141            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/142            [not run] External volumes not in use, skipped this test
xfs/143            [not run] External volumes not in use, skipped this test
xfs/144             3s
xfs/145             1s
xfs/146            [not run] External volumes not in use, skipped this test
xfs/147            [not run] External volumes not in use, skipped this test
xfs/148            [not run] v4 file systems not supported
xfs/149             1s
xfs/150             2s
xfs/151             3s
xfs/152             25s
xfs/153             7s
xfs/154             3s
xfs/155             14s
xfs/156             12s
xfs/157             4s
xfs/158             5s
xfs/159             2s
xfs/160             4s
xfs/161             7s
xfs/162             7s
xfs/163             7s
xfs/164             1s
xfs/165             1s
xfs/166             1s
xfs/167             23s
xfs/168             26s
xfs/169             18s
xfs/170             6s
xfs/174             7s
xfs/175             2s
xfs/176             8s
xfs/177             16s
xfs/178             3s
xfs/179             3s
xfs/180             4s
xfs/181             13s
xfs/182             9s
xfs/183             3s
xfs/184             4s
xfs/185             3s
xfs/186            [not run] attr v1 not supported on /dev/sdb
xfs/187            [not run] External volumes not in use, skipped this test
xfs/188             5s
xfs/189            [not run] noattr2 mount option not supported on /dev/sdb
xfs/190             1s
xfs/191             2s
xfs/192             8s
xfs/193             3s
xfs/194            [not run] v4 file systems not supported
xfs/195            [not run] xfsdump utility required, skipped this test
xfs/196            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/197            [not run] This test is only valid on 32 bit machines
xfs/198             5s
xfs/199            [not run] v4 file systems not supported
xfs/200             5s
xfs/201             7s
xfs/202             2s
xfs/203             2s
xfs/204             7s
xfs/205             3s
xfs/206             1s
xfs/207             3s
xfs/208             3s
xfs/209             3s
xfs/210             2s
xfs/212             3s
xfs/213             3s
xfs/214             3s
xfs/215             3s
xfs/216             4s
xfs/217             5s
xfs/218             3s
xfs/219             3s
xfs/220             2s
xfs/221             3s
xfs/222             29s
xfs/223             3s
xfs/224             4s
xfs/225             3s
xfs/226             3s
xfs/227             37s
xfs/228             4s
xfs/229             11s
xfs/230             3s
xfs/231             6s
xfs/232             7s
xfs/233             49s
xfs/234             72s
xfs/235             8s
xfs/236             11s
xfs/237            [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aiocp not built
xfs/238             2s
xfs/239            [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aiocp not built
xfs/240            [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aiocp not built
xfs/241            [not run] /home/azureuser/xfstests-dev/src/aio-dio-regress/aiocp not built
xfs/242             1s
xfs/243            [not run] Require XFS built with CONFIG_XFS_DEBUG
xfs/244            [not run] 16 bit project IDs not supported on /dev/sdb
xfs/245            [not run] Require XFS built with CONFIG_XFS_DEBUG
xfs/246            [not run] Require XFS built with CONFIG_XFS_DEBUG
xfs/247             2s
xfs/248             3s
xfs/249             3s
xfs/250             88s
xfs/251             2s
xfs/252             2s
xfs/253             5s
xfs/254             3s
xfs/255             3s
xfs/256             3s
xfs/257             4s
xfs/258             4s
xfs/259             4s
xfs/260             1s
xfs/261             2s
xfs/263             2s
xfs/264             6s
xfs/265             9s
xfs/266            [not run] xfsdump not found
xfs/269             1s
xfs/270             4s
xfs/271             4s
xfs/272             4s
xfs/273            - output mismatch (see /home/azureuser/xfstests-dev/results//xfs/273.out.bad)
    --- tests/xfs/273.out	2026-07-07 12:16:09.244601597 +0000
    +++ /home/azureuser/xfstests-dev/results//xfs/273.out.bad	2026-07-07 22:30:08.038439301 +0000
    @@ -1,3 +1,4 @@
     QA output created by 273
     Format and mount
     Compare fsmap
    +8:10h: fsmap stops at 134217720, expected 134217728
    ...
    (Run 'diff -u /home/azureuser/xfstests-dev/tests/xfs/273.out /home/azureuser/xfstests-dev/results//xfs/273.out.bad'  to see the entire diff)

HINT: You _MAY_ be missing kernel fix:
      a440a28ddbdc xfs: fix off-by-one error in fsmap

xfs/274             4s
xfs/275            [not run] This test requires a valid $SCRATCH_LOGDEV
xfs/276            [not run] External volumes not in use, skipped this test
xfs/277             3s
xfs/278             2s
xfs/279             5s
xfs/280             2s
xfs/281            [not run] xfsdump not found
xfs/282            [not run] xfsdump not found
xfs/283            [not run] xfsdump not found
xfs/284             5s
xfs/285            [not run] xfs_io scrub support is missing
xfs/286            [not run] xfs_io scrub support is missing
xfs/287            [not run] xfsdump not found
xfs/288             1s
xfs/289             1s
xfs/290             1s
xfs/291             47s
xfs/292             1s
xfs/293            [not run] man utility required, skipped this test
xfs/294             78s
xfs/295             10s
xfs/296            [not run] xfsdump not found
xfs/297             70s
xfs/298             8s
xfs/299            - output mismatch (see /home/azureuser/xfstests-dev/results//xfs/299.out.bad)
    --- tests/xfs/299.out	2026-07-07 12:16:09.244601597 +0000
    +++ /home/azureuser/xfstests-dev/results//xfs/299.out.bad	2026-07-07 22:34:16.164980169 +0000
    @@ -136,7 +136,7 @@
     
     
     *** report no quota settings
    -[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
    +[ROOT] 0 0 0 00 [--------] 17 0 0 00 [--------] 0 0 0 00 [--------]
     
     *** report initial settings
    ...
    (Run 'diff -u /home/azureuser/xfstests-dev/tests/xfs/299.out /home/azureuser/xfstests-dev/results//xfs/299.out.bad'  to see the entire diff)
xfs/300            [not run] v4 file systems not supported
xfs/301            [not run] xfsdump not found
xfs/302            [not run] xfsdump not found
xfs/303             1s
xfs/304             1s
xfs/305             83s
xfs/306             8s
xfs/307             4s
xfs/308             4s
xfs/309             10s
xfs/310             4s
xfs/311             22s
xfs/312            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/313            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/314            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/315            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/316            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/317            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/318            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/319            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/320            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/321            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/322            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/323            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/324            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/325            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/326            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/327             3s
xfs/328             23s
xfs/329            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/330             2s
xfs/331             4s
xfs/332             3s
xfs/334            [not run] External volumes not in use, skipped this test
xfs/335            [not run] External volumes not in use, skipped this test
xfs/336            [not run] External volumes not in use, skipped this test
xfs/338            [not run] External volumes not in use, skipped this test
xfs/339            [not run] External volumes not in use, skipped this test
xfs/340            [not run] External volumes not in use, skipped this test
xfs/341            [not run] External volumes not in use, skipped this test
xfs/342            [not run] External volumes not in use, skipped this test
xfs/343            [not run] External volumes not in use, skipped this test
xfs/344             7s
xfs/345             3s
xfs/346             35s
xfs/347             7s
xfs/348             18s
xfs/349            [not run] xfs_io scrub support is missing
xfs/419            [not run] External volumes not in use, skipped this test
xfs/420             3s
xfs/421             3s
xfs/424             5s
xfs/431             1s
xfs/432             13s
xfs/433            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/434            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/435             3s
xfs/436            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/437            [not run] Can't run find-api-violations.sh without WORKAREA set
xfs/438             4s
xfs/439             1s
xfs/440             3s
xfs/441             3s
xfs/442             58s
xfs/443            [not run] xfs_io exchangerange  support is missing
xfs/444             27s
xfs/445             17s
xfs/446            [not run] checkbashisms utility required, skipped this test
xfs/447            [not run] sysfs attribute 'debug/mount_delay' is not supported
xfs/448            [not run] xfs_io scrub support is missing
xfs/449             1s
xfs/450             2s
xfs/451             2s
xfs/452             1s
xfs/490            [not run] v4 file systems not supported
xfs/491             2s
xfs/492             1s
xfs/493             1s
xfs/494             1s
xfs/495             37s
xfs/499             1s
xfs/500             0s
xfs/501            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/502            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/503             61s
xfs/504             38s
xfs/505            [not run] man utility required, skipped this test
xfs/506            [not run] Scrub not supported
xfs/507            [not run] Require XFS built with CONFIG_XFS_DEBUG
xfs/508             2s
xfs/509             18s
xfs/510             1s
xfs/511             1s
xfs/512             1s
xfs/513             12s
xfs/514            [not run] man utility required, skipped this test
xfs/515            [not run] man utility required, skipped this test
xfs/516             33s
xfs/517            [not run] xfs_io scrub support is missing
xfs/518             2s
xfs/519             3s
xfs/520             2s
xfs/521            [not run] External volumes not in use, skipped this test
xfs/522             1s
xfs/523             1s
xfs/524             1s
xfs/525             1s
xfs/526            [not run] v4 file systems not supported
xfs/527            [not run] Require XFS built with CONFIG_XFS_DEBUG
xfs/528            [not run] External volumes not in use, skipped this test
xfs/529            [not run] Require XFS built with CONFIG_XFS_DEBUG
xfs/530            [not run] External volumes not in use, skipped this test
xfs/531            [not run] Require XFS built with CONFIG_XFS_DEBUG
xfs/532            [not run] Require XFS built with CONFIG_XFS_DEBUG
xfs/533             1s
xfs/534            [not run] Require XFS built with CONFIG_XFS_DEBUG
xfs/535            [not run] Require XFS built with CONFIG_XFS_DEBUG
xfs/536            [not run] Require XFS built with CONFIG_XFS_DEBUG
xfs/537            [not run] Require XFS built with CONFIG_XFS_DEBUG
xfs/538            [not run] Require XFS built with CONFIG_XFS_DEBUG
xfs/540             1s
xfs/541            [not run] External volumes not in use, skipped this test
xfs/542             2s
xfs/543             1s
xfs/544            [not run] xfsdump not found
xfs/545            [not run] xfsdump not found
xfs/546             1s
xfs/547            [not run] Require XFS built with CONFIG_XFS_DEBUG
xfs/548            [not run] Require XFS built with CONFIG_XFS_DEBUG
xfs/549             1s
xfs/550            [not run] /dev/sdb xfs does not support -o dax
xfs/551            [not run] /dev/sdb xfs does not support -o dax
xfs/552            [not run] /dev/sdb xfs does not support -o dax
xfs/553            [not run] Require XFS built with CONFIG_XFS_DEBUG
xfs/554            [not run] xfsdump not found
xfs/555             2s
xfs/556            [not run] Scrub not supported
xfs/557             5s
xfs/558            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/559            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/560            [not run] xfs_io scrub support is missing
xfs/565            [not run] xfs_io scrub support is missing
xfs/566            [not run] xfs_io scrub support is missing
xfs/567            [not run] xfsdump not found
xfs/568            [not run] xfsdump not found
xfs/596            [not run] External volumes not in use, skipped this test
xfs/597             2s
xfs/598             112s
xfs/599             3s
xfs/600             4s
xfs/601             44s
xfs/602             5s
xfs/603            [not run] xfs_io repair support is missing
xfs/604             12s
xfs/605            [not run] Require XFS built with CONFIG_XFS_DEBUG
xfs/606             1s
xfs/607            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/608            [not run] v4 file systems not supported
xfs/609             81s
xfs/610            [not run] External volumes not in use, skipped this test
xfs/612            [not run] v4 file systems not supported
xfs/613            [not run] v4 file systems not supported
xfs/614            [not run] mkfs does not support concurrency options
xfs/615            [not run] Require XFS built with CONFIG_XFS_DEBUG
xfs/616            [not run] xfs_io exchangerange  support is missing
xfs/617            [not run] xfs_io exchangerange  support is missing
xfs/618            [not run] sysfs attribute 'debug/larp' is not supported
xfs/619            [not run] sysfs attribute 'debug/larp' is not supported
xfs/620            [not run] sysfs attribute 'debug/larp' is not supported
xfs/623            [not run] xfs_io scrub support is missing
xfs/624            [not run] xfs_io scrub support is missing
xfs/625            [not run] xfs_io scrub support is missing
xfs/626            [not run] xfs_io scrub support is missing
xfs/627            [not run] xfs_io scrub support is missing
xfs/633            [not run] xfs_db rdump support is missing
xfs/634             2s
xfs/635            [not run] External volumes not in use, skipped this test
xfs/636            [not run] External volumes not in use, skipped this test
xfs/637            [not run] this test requires a zoned block device
xfs/638            [not run] Requires zoned file system
xfs/639            [not run] Requires zoned file system
xfs/640            [not run] kernel does not support asynchronous I/O
xfs/641            [not run] kernel does not support asynchronous I/O
xfs/642            [not run] kernel does not support asynchronous I/O
xfs/643            [not run] kernel does not support asynchronous I/O
xfs/644            [not run] kernel does not support asynchronous I/O
xfs/645             2s
xfs/646            [not run] Requires zoned file system
xfs/647            [not run] External volumes not in use, skipped this test
xfs/648            [not run] /home/azureuser/xfstests-dev/src/file_attr not built
xfs/649             5s
xfs/650            [not run] External volumes not in use, skipped this test
xfs/651            [not run] Can't create zoned file system
xfs/652            [not run] External volumes not in use, skipped this test
xfs/653            [not run] cannot mkfs zoned filesystem
xfs/654            [not run] xfs_io healthmon -p support is missing
xfs/655            [not run] xfs_io healthmon -p support is missing
xfs/656            [not run] xfs_io healthmon -p support is missing
xfs/657            [not run] xfs_io scrub support is missing
xfs/658            [not run] xfs_io repair support is missing
xfs/659            [not run] xfs_healer utility required, skipped this test
xfs/660            [not run] xfs_healer utility required, skipped this test
xfs/661            [not run] xfs_healer utility required, skipped this test
xfs/662            [not run] xfs_io repair support is missing
xfs/663            [not run] xfs_io repair support is missing
xfs/664            [not run] xfs_io repair support is missing
xfs/665            [not run] systemd unit "xfs_healer@.service" not found
xfs/666            [not run] systemd unit "xfs_healer@.service" not found
xfs/667            [not run] xfs_io repair support is missing
xfs/668            [not run] this test requires a zoned block device
xfs/669            [not run] Zoned mkfs not supported
xfs/716            [not run] XFS error injection requires CONFIG_XFS_DEBUG
xfs/732            [not run] External volumes not in use, skipped this test
xfs/789             1s
xfs/790            [not run] xfs_io exchangerange  support is missing
xfs/791            [not run] xfs_io exchangerange  support is missing
xfs/792            [not run] xfs_io exchangerange  support is missing
xfs/798            [not run] xfs_io repair support is missing
xfs/802            [not run] systemd unit "xfs_scrub@.service" not found
xfs/803            [not run] xfs_io listfsprops  support is missing
xfs/804            [not run] xfs_property utility required, skipped this test
xfs/805            [not run] xfs_io listfsprops  support is missing
xfs/806            [not run] xfs_io listfsprops  support is missing
xfs/817            [not run] xfs_io scrub support is missing
xfs/818            [not run] xfs_protofile utility required, skipped this test
xfs/819            [not run] mkfs.xfs protofile does not support xattrs
xfs/820            [not run] mkfs does not support uquota option
xfs/821            [not run] realtime not supported by scratch filesystem type: xfs
xfs/837            [not run] External volumes not in use, skipped this test
xfs/838            [not run] External volumes not in use, skipped this test
xfs/839            [not run] xfs_io pwrite doesn't support -A
xfs/840            [not run] write atomic not supported by this block device
xfs/841            [not run] mkfs.xfs does not support -p option for directory population
Ran: generic/001 generic/002 generic/003 generic/004 generic/005 generic/006 generic/007 generic/008 generic/009 generic/010 generic/011 generic/012 generic/013 generic/014 generic/015 generic/016 generic/017 generic/018 generic/020 generic/021 generic/022 generic/023 generic/024 generic/025 generic/026 generic/027 generic/028 generic/029 generic/030 generic/031 generic/032 generic/033 generic/034 generic/035 generic/036 generic/037 generic/038 generic/039 generic/040 generic/041 generic/042 generic/043 generic/044 generic/045 generic/046 generic/047 generic/048 generic/049 generic/050 generic/051 generic/052 generic/053 generic/054 generic/055 generic/056 generic/057 generic/058 generic/059 generic/060 generic/061 generic/062 generic/063 generic/064 generic/065 generic/066 generic/067 generic/068 generic/069 generic/070 generic/071 generic/072 generic/073 generic/074 generic/075 generic/076 generic/077 generic/078 generic/079 generic/080 generic/081 generic/082 generic/083 generic/084 generic/085 generic/086 generic/087 generic/088 generic/089 generic/090 generic/091 generic/092 generic/093 generic/094 generic/095 generic/096 generic/097 generic/098 generic/099 generic/100 generic/101 generic/102 generic/103 generic/104 generic/105 generic/106 generic/107 generic/108 generic/109 generic/110 generic/111 generic/112 generic/113 generic/114 generic/115 generic/116 generic/117 generic/118 generic/119 generic/120 generic/121 generic/122 generic/123 generic/124 generic/125 generic/126 generic/127 generic/128 generic/129 generic/130 generic/131 generic/132 generic/133 generic/134 generic/135 generic/136 generic/137 generic/138 generic/139 generic/140 generic/141 generic/142 generic/143 generic/144 generic/145 generic/146 generic/147 generic/148 generic/149 generic/150 generic/151 generic/152 generic/153 generic/154 generic/155 generic/156 generic/157 generic/158 generic/159 generic/160 generic/161 generic/162 generic/163 generic/164 generic/165 generic/166 generic/167 generic/168 generic/169 generic/170 generic/171 generic/172 generic/173 generic/174 generic/175 generic/176 generic/177 generic/178 generic/179 generic/180 generic/181 generic/182 generic/183 generic/184 generic/185 generic/186 generic/187 generic/188 generic/189 generic/190 generic/191 generic/192 generic/193 generic/194 generic/195 generic/196 generic/197 generic/198 generic/199 generic/200 generic/201 generic/202 generic/203 generic/204 generic/205 generic/206 generic/207 generic/208 generic/209 generic/210 generic/211 generic/212 generic/213 generic/214 generic/215 generic/216 generic/217 generic/218 generic/219 generic/220 generic/221 generic/222 generic/223 generic/224 generic/225 generic/226 generic/227 generic/228 generic/229 generic/230 generic/231 generic/232 generic/233 generic/234 generic/235 generic/236 generic/237 generic/238 generic/239 generic/240 generic/241 generic/242 generic/243 generic/244 generic/245 generic/246 generic/247 generic/248 generic/249 generic/250 generic/251 generic/252 generic/253 generic/254 generic/255 generic/256 generic/257 generic/258 generic/259 generic/260 generic/261 generic/262 generic/263 generic/264 generic/265 generic/266 generic/267 generic/268 generic/269 generic/270 generic/271 generic/272 generic/273 generic/274 generic/275 generic/276 generic/277 generic/278 generic/279 generic/280 generic/281 generic/282 generic/283 generic/284 generic/285 generic/286 generic/287 generic/288 generic/289 generic/290 generic/291 generic/292 generic/293 generic/294 generic/295 generic/296 generic/297 generic/298 generic/299 generic/300 generic/301 generic/302 generic/303 generic/304 generic/305 generic/306 generic/307 generic/308 generic/309 generic/310 generic/311 generic/312 generic/313 generic/314 generic/315 generic/316 generic/317 generic/318 generic/319 generic/320 generic/321 generic/322 generic/323 generic/324 generic/325 generic/326 generic/327 generic/328 generic/329 generic/330 generic/331 generic/332 generic/333 generic/334 generic/335 generic/336 generic/337 generic/338 generic/339 generic/340 generic/341 generic/342 generic/343 generic/344 generic/345 generic/346 generic/347 generic/348 generic/352 generic/353 generic/354 generic/355 generic/356 generic/357 generic/358 generic/359 generic/360 generic/361 generic/362 generic/363 generic/364 generic/365 generic/366 generic/368 generic/369 generic/370 generic/371 generic/372 generic/373 generic/374 generic/375 generic/376 generic/377 generic/378 generic/379 generic/380 generic/381 generic/382 generic/383 generic/384 generic/385 generic/386 generic/387 generic/388 generic/389 generic/390 generic/391 generic/392 generic/393 generic/394 generic/395 generic/396 generic/397 generic/398 generic/399 generic/400 generic/401 generic/402 generic/403 generic/404 generic/405 generic/406 generic/407 generic/408 generic/409 generic/410 generic/411 generic/412 generic/413 generic/414 generic/415 generic/416 generic/417 generic/418 generic/419 generic/420 generic/421 generic/422 generic/423 generic/424 generic/425 generic/426 generic/427 generic/428 generic/429 generic/430 generic/431 generic/432 generic/433 generic/434 generic/435 generic/436 generic/437 generic/438 generic/439 generic/440 generic/441 generic/443 generic/444 generic/445 generic/446 generic/447 generic/448 generic/449 generic/450 generic/451 generic/452 generic/453 generic/454 generic/455 generic/456 generic/457 generic/458 generic/459 generic/460 generic/461 generic/462 generic/463 generic/464 generic/465 generic/466 generic/467 generic/468 generic/469 generic/470 generic/471 generic/472 generic/474 generic/475 generic/476 generic/477 generic/478 generic/479 generic/480 generic/481 generic/482 generic/483 generic/484 generic/485 generic/486 generic/487 generic/488 generic/489 generic/490 generic/491 generic/492 generic/493 generic/494 generic/495 generic/496 generic/497 generic/498 generic/499 generic/500 generic/501 generic/502 generic/503 generic/504 generic/505 generic/506 generic/507 generic/508 generic/509 generic/510 generic/511 generic/512 generic/513 generic/514 generic/515 generic/516 generic/517 generic/518 generic/519 generic/520 generic/523 generic/524 generic/525 generic/526 generic/527 generic/528 generic/529 generic/530 generic/531 generic/532 generic/533 generic/534 generic/535 generic/536 generic/537 generic/538 generic/539 generic/540 generic/541 generic/542 generic/543 generic/544 generic/545 generic/546 generic/547 generic/548 generic/549 generic/550 generic/551 generic/552 generic/553 generic/554 generic/555 generic/556 generic/557 generic/558 generic/559 generic/560 generic/561 generic/562 generic/563 generic/564 generic/565 generic/566 generic/567 generic/568 generic/569 generic/570 generic/571 generic/572 generic/573 generic/574 generic/575 generic/576 generic/577 generic/578 generic/579 generic/580 generic/581 generic/582 generic/583 generic/584 generic/585 generic/586 generic/587 generic/588 generic/589 generic/590 generic/591 generic/592 generic/593 generic/594 generic/595 generic/596 generic/597 generic/598 generic/599 generic/600 generic/601 generic/602 generic/603 generic/604 generic/605 generic/606 generic/607 generic/608 generic/609 generic/610 generic/611 generic/612 generic/613 generic/614 generic/615 generic/616 generic/617 generic/618 generic/619 generic/620 generic/621 generic/622 generic/623 generic/624 generic/625 generic/626 generic/627 generic/628 generic/629 generic/630 generic/631 generic/632 generic/633 generic/634 generic/635 generic/636 generic/637 generic/638 generic/639 generic/640 generic/641 generic/642 generic/643 generic/644 generic/645 generic/646 generic/647 generic/648 generic/649 generic/650 generic/651 generic/652 generic/653 generic/654 generic/655 generic/656 generic/657 generic/658 generic/659 generic/660 generic/661 generic/662 generic/663 generic/664 generic/665 generic/666 generic/667 generic/668 generic/669 generic/670 generic/671 generic/672 generic/673 generic/674 generic/675 generic/676 generic/677 generic/678 generic/679 generic/680 generic/681 generic/682 generic/683 generic/684 generic/685 generic/686 generic/687 generic/688 generic/689 generic/690 generic/691 generic/692 generic/693 generic/694 generic/695 generic/696 generic/697 generic/698 generic/699 generic/700 generic/701 generic/702 generic/703 generic/704 generic/705 generic/706 generic/707 generic/708 generic/709 generic/710 generic/711 generic/712 generic/713 generic/714 generic/715 generic/716 generic/717 generic/718 generic/719 generic/720 generic/721 generic/722 generic/723 generic/724 generic/725 generic/726 generic/727 generic/728 generic/729 generic/730 generic/731 generic/732 generic/733 generic/734 generic/735 generic/736 generic/737 generic/738 generic/739 generic/740 generic/741 generic/742 generic/743 generic/744 generic/745 generic/746 generic/747 generic/748 generic/749 generic/750 generic/751 generic/752 generic/753 generic/754 generic/755 generic/756 generic/757 generic/758 generic/759 generic/760 generic/761 generic/762 generic/763 generic/764 generic/765 generic/766 generic/767 generic/768 generic/769 generic/770 generic/771 generic/772 generic/773 generic/774 generic/775 generic/776 generic/777 generic/778 generic/779 generic/781 generic/782 generic/783 generic/784 generic/785 generic/786 generic/787 generic/788 generic/789 generic/790 generic/791 generic/792 generic/793 generic/794 xfs/001 xfs/002 xfs/003 xfs/004 xfs/005 xfs/006 xfs/007 xfs/008 xfs/009 xfs/010 xfs/011 xfs/012 xfs/013 xfs/014 xfs/015 xfs/016 xfs/017 xfs/018 xfs/019 xfs/020 xfs/021 xfs/026 xfs/027 xfs/028 xfs/029 xfs/030 xfs/031 xfs/032 xfs/033 xfs/034 xfs/035 xfs/040 xfs/041 xfs/042 xfs/044 xfs/045 xfs/046 xfs/047 xfs/048 xfs/049 xfs/050 xfs/051 xfs/052 xfs/053 xfs/054 xfs/056 xfs/057 xfs/058 xfs/059 xfs/060 xfs/061 xfs/062 xfs/063 xfs/064 xfs/065 xfs/066 xfs/067 xfs/068 xfs/069 xfs/070 xfs/071 xfs/072 xfs/073 xfs/074 xfs/075 xfs/076 xfs/077 xfs/078 xfs/079 xfs/080 xfs/081 xfs/082 xfs/084 xfs/090 xfs/092 xfs/094 xfs/095 xfs/096 xfs/103 xfs/104 xfs/106 xfs/107 xfs/108 xfs/109 xfs/110 xfs/114 xfs/115 xfs/116 xfs/118 xfs/119 xfs/121 xfs/122 xfs/127 xfs/128 xfs/129 xfs/131 xfs/132 xfs/135 xfs/137 xfs/138 xfs/139 xfs/140 xfs/141 xfs/142 xfs/143 xfs/144 xfs/145 xfs/146 xfs/147 xfs/148 xfs/149 xfs/150 xfs/151 xfs/152 xfs/153 xfs/154 xfs/155 xfs/156 xfs/157 xfs/158 xfs/159 xfs/160 xfs/161 xfs/162 xfs/163 xfs/164 xfs/165 xfs/166 xfs/167 xfs/168 xfs/169 xfs/170 xfs/174 xfs/175 xfs/176 xfs/177 xfs/178 xfs/179 xfs/180 xfs/181 xfs/182 xfs/183 xfs/184 xfs/185 xfs/186 xfs/187 xfs/188 xfs/189 xfs/190 xfs/191 xfs/192 xfs/193 xfs/194 xfs/195 xfs/196 xfs/197 xfs/198 xfs/199 xfs/200 xfs/201 xfs/202 xfs/203 xfs/204 xfs/205 xfs/206 xfs/207 xfs/208 xfs/209 xfs/210 xfs/212 xfs/213 xfs/214 xfs/215 xfs/216 xfs/217 xfs/218 xfs/219 xfs/220 xfs/221 xfs/222 xfs/223 xfs/224 xfs/225 xfs/226 xfs/227 xfs/228 xfs/229 xfs/230 xfs/231 xfs/232 xfs/233 xfs/234 xfs/235 xfs/236 xfs/237 xfs/238 xfs/239 xfs/240 xfs/241 xfs/242 xfs/243 xfs/244 xfs/245 xfs/246 xfs/247 xfs/248 xfs/249 xfs/250 xfs/251 xfs/252 xfs/253 xfs/254 xfs/255 xfs/256 xfs/257 xfs/258 xfs/259 xfs/260 xfs/261 xfs/263 xfs/264 xfs/265 xfs/266 xfs/269 xfs/270 xfs/271 xfs/272 xfs/273 xfs/274 xfs/275 xfs/276 xfs/277 xfs/278 xfs/279 xfs/280 xfs/281 xfs/282 xfs/283 xfs/284 xfs/285 xfs/286 xfs/287 xfs/288 xfs/289 xfs/290 xfs/291 xfs/292 xfs/293 xfs/294 xfs/295 xfs/296 xfs/297 xfs/298 xfs/299 xfs/300 xfs/301 xfs/302 xfs/303 xfs/304 xfs/305 xfs/306 xfs/307 xfs/308 xfs/309 xfs/310 xfs/311 xfs/312 xfs/313 xfs/314 xfs/315 xfs/316 xfs/317 xfs/318 xfs/319 xfs/320 xfs/321 xfs/322 xfs/323 xfs/324 xfs/325 xfs/326 xfs/327 xfs/328 xfs/329 xfs/330 xfs/331 xfs/332 xfs/334 xfs/335 xfs/336 xfs/338 xfs/339 xfs/340 xfs/341 xfs/342 xfs/343 xfs/344 xfs/345 xfs/346 xfs/347 xfs/348 xfs/349 xfs/419 xfs/420 xfs/421 xfs/424 xfs/431 xfs/432 xfs/433 xfs/434 xfs/435 xfs/436 xfs/437 xfs/438 xfs/439 xfs/440 xfs/441 xfs/442 xfs/443 xfs/444 xfs/445 xfs/446 xfs/447 xfs/448 xfs/449 xfs/450 xfs/451 xfs/452 xfs/490 xfs/491 xfs/492 xfs/493 xfs/494 xfs/495 xfs/499 xfs/500 xfs/501 xfs/502 xfs/503 xfs/504 xfs/505 xfs/506 xfs/507 xfs/508 xfs/509 xfs/510 xfs/511 xfs/512 xfs/513 xfs/514 xfs/515 xfs/516 xfs/517 xfs/518 xfs/519 xfs/520 xfs/521 xfs/522 xfs/523 xfs/524 xfs/525 xfs/526 xfs/527 xfs/528 xfs/529 xfs/530 xfs/531 xfs/532 xfs/533 xfs/534 xfs/535 xfs/536 xfs/537 xfs/538 xfs/540 xfs/541 xfs/542 xfs/543 xfs/544 xfs/545 xfs/546 xfs/547 xfs/548 xfs/549 xfs/550 xfs/551 xfs/552 xfs/553 xfs/554 xfs/555 xfs/556 xfs/557 xfs/558 xfs/559 xfs/560 xfs/565 xfs/566 xfs/567 xfs/568 xfs/596 xfs/597 xfs/598 xfs/599 xfs/600 xfs/601 xfs/602 xfs/603 xfs/604 xfs/605 xfs/606 xfs/607 xfs/608 xfs/609 xfs/610 xfs/612 xfs/613 xfs/614 xfs/615 xfs/616 xfs/617 xfs/618 xfs/619 xfs/620 xfs/623 xfs/624 xfs/625 xfs/626 xfs/627 xfs/633 xfs/634 xfs/635 xfs/636 xfs/637 xfs/638 xfs/639 xfs/640 xfs/641 xfs/642 xfs/643 xfs/644 xfs/645 xfs/646 xfs/647 xfs/648 xfs/649 xfs/650 xfs/651 xfs/652 xfs/653 xfs/654 xfs/655 xfs/656 xfs/657 xfs/658 xfs/659 xfs/660 xfs/661 xfs/662 xfs/663 xfs/664 xfs/665 xfs/666 xfs/667 xfs/668 xfs/669 xfs/716 xfs/732 xfs/789 xfs/790 xfs/791 xfs/792 xfs/798 xfs/802 xfs/803 xfs/804 xfs/805 xfs/806 xfs/817 xfs/818 xfs/819 xfs/820 xfs/821 xfs/837 xfs/838 xfs/839 xfs/840 xfs/841
Not run: generic/010 generic/036 generic/095 generic/112 generic/113 generic/114 generic/198 generic/207 generic/208 generic/209 generic/210 generic/212 generic/239 generic/240 generic/241 generic/252 generic/299 generic/300 generic/323 generic/329 generic/330 generic/331 generic/332 generic/366 generic/368 generic/369 generic/395 generic/396 generic/397 generic/398 generic/399 generic/413 generic/419 generic/421 generic/427 generic/429 generic/435 generic/440 generic/451 generic/455 generic/457 generic/459 generic/462 generic/463 generic/465 generic/470 generic/482 generic/487 generic/538 generic/548 generic/549 generic/550 generic/551 generic/556 generic/559 generic/560 generic/561 generic/565 generic/570 generic/572 generic/573 generic/574 generic/575 generic/576 generic/577 generic/579 generic/580 generic/581 generic/582 generic/583 generic/584 generic/586 generic/592 generic/593 generic/595 generic/596 generic/602 generic/605 generic/606 generic/608 generic/613 generic/616 generic/617 generic/621 generic/624 generic/625 generic/627 generic/678 generic/679 generic/692 generic/693 generic/700 generic/703 generic/709 generic/710 generic/712 generic/713 generic/714 generic/715 generic/716 generic/717 generic/718 generic/719 generic/720 generic/721 generic/722 generic/723 generic/724 generic/725 generic/726 generic/727 generic/737 generic/739 generic/743 generic/744 generic/752 generic/756 generic/757 generic/765 generic/766 generic/767 generic/768 generic/769 generic/770 generic/772 generic/773 generic/774 generic/775 generic/776 generic/777 generic/778 generic/781 generic/783 generic/786 generic/787 generic/788 generic/791 generic/793 xfs/002 xfs/016 xfs/018 xfs/026 xfs/027 xfs/028 xfs/035 xfs/040 xfs/044 xfs/046 xfs/047 xfs/051 xfs/056 xfs/057 xfs/059 xfs/060 xfs/061 xfs/063 xfs/064 xfs/065 xfs/066 xfs/068 xfs/090 xfs/094 xfs/095 xfs/096 xfs/107 xfs/122 xfs/131 xfs/132 xfs/141 xfs/142 xfs/143 xfs/146 xfs/147 xfs/148 xfs/186 xfs/187 xfs/189 xfs/194 xfs/195 xfs/196 xfs/197 xfs/199 xfs/237 xfs/239 xfs/240 xfs/241 xfs/243 xfs/244 xfs/245 xfs/246 xfs/266 xfs/275 xfs/276 xfs/281 xfs/282 xfs/283 xfs/285 xfs/286 xfs/287 xfs/293 xfs/296 xfs/300 xfs/301 xfs/302 xfs/312 xfs/313 xfs/314 xfs/315 xfs/316 xfs/317 xfs/318 xfs/319 xfs/320 xfs/321 xfs/322 xfs/323 xfs/324 xfs/325 xfs/326 xfs/329 xfs/334 xfs/335 xfs/336 xfs/338 xfs/339 xfs/340 xfs/341 xfs/342 xfs/343 xfs/349 xfs/419 xfs/433 xfs/434 xfs/436 xfs/437 xfs/443 xfs/446 xfs/447 xfs/448 xfs/490 xfs/501 xfs/502 xfs/505 xfs/506 xfs/507 xfs/514 xfs/515 xfs/517 xfs/521 xfs/526 xfs/527 xfs/528 xfs/529 xfs/530 xfs/531 xfs/532 xfs/534 xfs/535 xfs/536 xfs/537 xfs/538 xfs/541 xfs/544 xfs/545 xfs/547 xfs/548 xfs/550 xfs/551 xfs/552 xfs/553 xfs/554 xfs/556 xfs/558 xfs/559 xfs/560 xfs/565 xfs/566 xfs/567 xfs/568 xfs/596 xfs/603 xfs/605 xfs/607 xfs/608 xfs/610 xfs/612 xfs/613 xfs/614 xfs/615 xfs/616 xfs/617 xfs/618 xfs/619 xfs/620 xfs/623 xfs/624 xfs/625 xfs/626 xfs/627 xfs/633 xfs/635 xfs/636 xfs/637 xfs/638 xfs/639 xfs/640 xfs/641 xfs/642 xfs/643 xfs/644 xfs/646 xfs/647 xfs/648 xfs/650 xfs/651 xfs/652 xfs/653 xfs/654 xfs/655 xfs/656 xfs/657 xfs/658 xfs/659 xfs/660 xfs/661 xfs/662 xfs/663 xfs/664 xfs/665 xfs/666 xfs/667 xfs/668 xfs/669 xfs/716 xfs/732 xfs/790 xfs/791 xfs/792 xfs/798 xfs/802 xfs/803 xfs/804 xfs/805 xfs/806 xfs/817 xfs/818 xfs/819 xfs/820 xfs/821 xfs/837 xfs/838 xfs/839 xfs/840 xfs/841
Failures: generic/062 generic/363 generic/365 generic/645 generic/753 generic/754 generic/794 xfs/273 xfs/299
Failed 9 of 1271 tests


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 6.6 0/4] fix kernel crash for xfs/235 test
  2026-07-08  0:34                           ` Hamza Mahfooz
@ 2026-07-08 16:18                             ` Sasha Levin
  0 siblings, 0 replies; 21+ messages in thread
From: Sasha Levin @ 2026-07-08 16:18 UTC (permalink / raw)
  To: Hamza Mahfooz
  Cc: Sasha Levin, Carlos Maiolino, Amir Goldstein, Fedor Pchelkin,
	stable, xfs-stable, Christoph Hellwig, Catherine Hoang,
	Greg Kroah-Hartman, lvc-project, linux-xfs, Leah Rumancik,
	Theodore Ts'o, Darrick J. Wong

On Tue, Jul 07, 2026 at 08:34:12PM -0400, Hamza Mahfooz wrote:
> I ran fstests both before and after applying the series with "-g auto"
> as Amir suggested and the only meaningful difference between the two is
> that all of the tests after xfs/234 refuse to run on the unpatched
> kernel (presumably because of the kernel panic). I have also attached
> both runs if you're interested in having a look for yourself.

Thanks for running these! Queued the series for 6.6.

-- 
Thanks,
Sasha

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2026-07-08 16:18 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-22 14:34 [PATCH 6.6 0/4] fix kernel crash for xfs/235 test Fedor Pchelkin
2025-03-22 14:34 ` [PATCH 6.6 1/4] xfs: recreate work items when recovering intent items Fedor Pchelkin
2025-03-22 14:34 ` [PATCH 6.6 2/4] xfs: dump the recovered xattri log item if corruption happens Fedor Pchelkin
2025-03-22 14:34 ` [PATCH 6.6 3/4] xfs: use xfs_defer_finish_one to finish recovered work items Fedor Pchelkin
2025-03-22 14:34 ` [PATCH 6.6 4/4] xfs: move ->iop_recover to xfs_defer_op_type Fedor Pchelkin
2026-06-11 18:39 ` [PATCH 6.6 0/4] fix kernel crash for xfs/235 test Hamza Mahfooz
2026-06-13  0:20   ` Sasha Levin
2026-06-15 19:19     ` Hamza Mahfooz
2026-06-16  7:13       ` Carlos Maiolino
2026-06-16 13:31         ` Hamza Mahfooz
2026-06-16 14:19           ` Carlos Maiolino
2026-06-16 17:26             ` Leah Rumancik
2026-06-17  9:19               ` Amir Goldstein
2026-06-17 12:31                 ` Carlos Maiolino
2026-06-25 18:34                   ` Darrick J. Wong
2026-06-30 23:39                     ` Hamza Mahfooz
2026-07-01 16:33                       ` Darrick J. Wong
2026-07-03  4:06                         ` Sasha Levin
2026-07-03 13:46                           ` Amir Goldstein
2026-07-08  0:34                           ` Hamza Mahfooz
2026-07-08 16:18                             ` Sasha Levin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.