xfs: add missing nrext64 inode flag check to scrub
authorDarrick J. Wong <djwong@kernel.org>
Fri, 15 Dec 2023 18:03:34 +0000 (10:03 -0800)
committerDarrick J. Wong <djwong@kernel.org>
Fri, 15 Dec 2023 18:03:34 +0000 (10:03 -0800)
Add this missing check that the superblock nrext64 flag is set if the
inode flag is set.

Fixes: 9b7d16e34bbeb ("xfs: Introduce XFS_DIFLAG2_NREXT64 and associated helpers")
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
fs/xfs/scrub/inode.c

index 7e97db8255c63878160bd7d9d15da0a9a9fe26f1..6c40f3e020eaeec983b3584d95d852c92218f721 100644 (file)
@@ -342,6 +342,10 @@ xchk_inode_flags2(
        if (xfs_dinode_has_bigtime(dip) && !xfs_has_bigtime(mp))
                goto bad;
 
+       /* no large extent counts without the filesystem feature */
+       if ((flags2 & XFS_DIFLAG2_NREXT64) && !xfs_has_large_extent_counts(mp))
+               goto bad;
+
        return;
 bad:
        xchk_ino_set_corrupt(sc, ino);