]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs: check minimum block size for CRC filesystems
authorDarrick J. Wong <darrick.wong@oracle.com>
Tue, 10 Jan 2017 02:17:39 +0000 (20:17 -0600)
committerEric Sandeen <sandeen@redhat.com>
Tue, 10 Jan 2017 02:17:39 +0000 (20:17 -0600)
Source kernel commit: bec9d48d7a303a5bb95c05961ff07ec7eeb59058

[dchinner: cleaned up XFS_MIN_CRC_BLOCKSIZE check]

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
libxfs/xfs_sb.c

index adc47e2105e0dd771c6bb8714ba62d277e82016a..39ce4d2cca9d776f53bc31ddf5f14f2054752993 100644 (file)
@@ -259,6 +259,12 @@ xfs_mount_validate_sb(
                return -EFSCORRUPTED;
        }
 
+       if (xfs_sb_version_hascrc(&mp->m_sb) &&
+           sbp->sb_blocksize < XFS_MIN_CRC_BLOCKSIZE) {
+               xfs_notice(mp, "v5 SB sanity check failed");
+               return -EFSCORRUPTED;
+       }
+
        /*
         * Currently only very few inode sizes are supported.
         */