From: Darrick J. Wong Date: Wed, 15 Mar 2023 01:01:55 +0000 (-0700) Subject: xfs_repair: fix incorrect dabtree hashval comparison X-Git-Tag: v6.2.0~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b7b81f336ac02f4e4f24e0844a7fb3023c489667;p=thirdparty%2Fxfsprogs-dev.git 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 --- diff --git a/repair/da_util.c b/repair/da_util.c index 7239c2e2c..b229422c8 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"),