xfsprogs/0003-xfs_repair-fix-incorrect-dabtree-hashval-comparison.patch
2023-12-27 16:16:47 +08:00

37 lines
1.3 KiB
Diff

From b7b81f336ac02f4e4f24e0844a7fb3023c489667 Mon Sep 17 00:00:00 2001
From: "Darrick J. Wong" <djwong@kernel.org>
Date: Tue, 14 Mar 2023 18:01:55 -0700
Subject: [PATCH] xfs_repair: fix incorrect dabtree hashval comparison
If an xattr structure contains enough names with the same hash value to
fill multiple xattr leaf blocks with names all hashing to the same
value, then the dabtree nodes will contain consecutive entries with the
same hash value.
This causes false corruption reports in xfs_repair because it's not
expecting such a huge same-hashing structure. Fix that.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
---
repair/da_util.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/repair/da_util.c b/repair/da_util.c
index 7239c2e..b229422 100644
--- a/repair/da_util.c
+++ b/repair/da_util.c
@@ -330,7 +330,7 @@ _("%s block used/count inconsistency - %d/%hu\n"),
/*
* hash values monotonically increasing ???
*/
- if (cursor->level[this_level].hashval >=
+ if (cursor->level[this_level].hashval >
be32_to_cpu(nodehdr.btree[entry].hashval)) {
do_warn(
_("%s block hashvalue inconsistency, expected > %u / saw %u\n"),
--
1.8.3.1