* [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.