FAILED: patch "[PATCH] xfs: fix backwards mergeability logic in refcount scrubber" failed to apply to 6.6-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 6.6-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.6.y
git checkout FETCH_HEAD
git cherry-pick -x e8b01aaafffe6b852325debdf1ef4b13ccea1cd7
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026091615-operating-mutt-0936@gregkh' --subject-prefix 'PATCH 6.6.y' 'HEAD^..'
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From e8b01aaafffe6b852325debdf1ef4b13ccea1cd7 Mon Sep 17 00:00:00 2001
From: "Darrick J. Wong" <[email protected]>
Date: Tue, 1 Sep 2026 22:49:47 -0700
Subject: [PATCH] xfs: fix backwards mergeability logic in refcount scrubber
When we start the refcount or rtrefcount btree scanners, prev_rec is initialized to all zeroes. This is done so that the record mergeability checks skip the first record because you must have two records to compare. Unfortunately, I got the logic backwards, so scrub has never complained about mergeable refcountbt records. Fix this bug that LOLLM noticed.
fs/xfs/scrub/refcount.c +1 -1
@@ -410,7 +410,7 @@ xchk_refcount_mergeable(const struct xfs_refcount_irec *r1 = &rrc->prev_rec;/* Ignore if prev_rec is not yet initialized. */ -if (r1->rc_blockcount >0 ) +if (r1->rc_blockcount ==0 )return false;if (r1->rc_domain != r2->rc_domain)
fs/xfs/scrub/rtrefcount.c +1 -1
@@ -375,7 +375,7 @@ xchk_rtrefcount_mergeable(const struct xfs_refcount_irec *r1 = &rrc->prev_rec;/* Ignore if prev_rec is not yet initialized. */ -if (r1->rc_blockcount >0 ) +if (r1->rc_blockcount ==0 )return false;if (r1->rc_startblock + r1->rc_blockcount != r2->rc_startblock)
Sasha Levin
maintainerPATCH 1/1 xfs: fix backwards mergeability logic in refcount scrubber
From: "Darrick J. Wong" <[email protected]>
[ Upstream commit e8b01aaafffe6b852325debdf1ef4b13ccea1cd7 ]
When we start the refcount or rtrefcount btree scanners, prev_rec is initialized to all zeroes. This is done so that the record mergeability checks skip the first record because you must have two records to compare. Unfortunately, I got the logic backwards, so scrub has never complained about mergeable refcountbt records. Fix this bug that LOLLM noticed.
--- fs/xfs/scrub/refcount.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
fs/xfs/scrub/refcount.c +1 -1
@@ -399,7 +399,7 @@ xchk_refcount_mergeable(const struct xfs_refcount_irec *r1 = &rrc->prev_rec;/* Ignore if prev_rec is not yet initialized. */ -if (r1->rc_blockcount >0 ) +if (r1->rc_blockcount ==0 )return false;if (r1->rc_domain != r2->rc_domain)
Signature · 1 line
2.53.0