]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
xfs: mark nonzero sb_gquotino as corrupt on metadir filesystems
authorDarrick J. Wong <djwong@kernel.org>
Tue, 21 Jul 2026 03:24:48 +0000 (20:24 -0700)
committerCarlos Maiolino <cem@kernel.org>
Wed, 22 Jul 2026 13:06:25 +0000 (15:06 +0200)
On a metadir filesystem, the superblock gquotino field is always zero
because we find the quota inodes through the metadata directory tree.
A nonzero value is therefore a corruption (as pointed out by LOLLM) so
mark the failure as such.

Cc: stable@vger.kernel.org # v6.13
Fixes: 06b20ef09ba163 ("xfs: check pre-metadir fields correctly")
Signed-off-by: "Darrick J. Wong" <djwong@kernel.org>
Assisted-by: LOLLM # finding obvious bugs
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
fs/xfs/scrub/agheader.c

index 9ed053b5f06125aed8e8842867600aa7e813bfea..62ed5eaf08fbc189cdbfeb048b64b3b09437193d 100644 (file)
@@ -266,7 +266,7 @@ xchk_superblock(
                        xchk_block_set_corrupt(sc, bp);
 
                if (sb->sb_gquotino != cpu_to_be64(0))
-                       xchk_block_set_preen(sc, bp);
+                       xchk_block_set_corrupt(sc, bp);
        } else {
                if (sb->sb_uquotino != cpu_to_be64(mp->m_sb.sb_uquotino))
                        xchk_block_set_preen(sc, bp);