From 8dfc22e19ea720230dd86a6fe97d422afaa74e24 Mon Sep 17 00:00:00 2001 From: wguanghao Date: Wed, 27 Dec 2023 16:16:47 +0800 Subject: [PATCH] backport patch from community --- ...incorrect-dabtree-hashval-comparison.patch | 36 +++++++++++++++++++ xfsprogs.spec | 6 +++- 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 0003-xfs_repair-fix-incorrect-dabtree-hashval-comparison.patch diff --git a/0003-xfs_repair-fix-incorrect-dabtree-hashval-comparison.patch b/0003-xfs_repair-fix-incorrect-dabtree-hashval-comparison.patch new file mode 100644 index 0000000..97ad2c9 --- /dev/null +++ b/0003-xfs_repair-fix-incorrect-dabtree-hashval-comparison.patch @@ -0,0 +1,36 @@ +From b7b81f336ac02f4e4f24e0844a7fb3023c489667 Mon Sep 17 00:00:00 2001 +From: "Darrick J. Wong" +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 +Reviewed-by: Carlos Maiolino +Signed-off-by: Carlos Maiolino +--- + 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 + diff --git a/xfsprogs.spec b/xfsprogs.spec index 654587e..9c5ee6f 100644 --- a/xfsprogs.spec +++ b/xfsprogs.spec @@ -1,6 +1,6 @@ Name: xfsprogs Version: 6.1.1 -Release: 3 +Release: 4 Summary: Administration and debugging tools for the XFS file system License: GPL+ and LGPLv2+ URL: https://xfs.wiki.kernel.org @@ -21,6 +21,7 @@ Conflicts: xfsdump < 3.0.1 Patch0: xfsprogs-5.12.0-default-bigtime-inobtcnt-on.patch Patch1: 0001-xfsprogs-Add-sw64-architecture.patch Patch2: 0002-po-fix-German-translation.patch +Patch3: 0003-xfs_repair-fix-incorrect-dabtree-hashval-comparison.patch %description xfsprogs are the userspace utilities that manage XFS filesystems. @@ -105,6 +106,9 @@ rm -rf %{buildroot}%{_datadir}/doc/xfsprogs/ %changelog +* Wed Dec 27 2023 wuguanghao - 6.1.1-4 +- backport patch from community + * Wed Jul 19 2023 wuguanghao - 6.1.1-3 - fix compile failure -- Gitee