From: Darrick J. Wong Date: Tue, 10 Jan 2017 02:17:39 +0000 (-0600) Subject: xfs: check minimum block size for CRC filesystems X-Git-Tag: v4.10.0-rc1~81 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=342ec632217b46a0a049d79906aef4cc5fdefb7d;p=thirdparty%2Fxfsprogs-dev.git xfs: check minimum block size for CRC filesystems Source kernel commit: bec9d48d7a303a5bb95c05961ff07ec7eeb59058 [dchinner: cleaned up XFS_MIN_CRC_BLOCKSIZE check] Signed-off-by: Darrick J. Wong Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Eric Sandeen --- diff --git a/libxfs/xfs_sb.c b/libxfs/xfs_sb.c index adc47e210..39ce4d2cc 100644 --- a/libxfs/xfs_sb.c +++ b/libxfs/xfs_sb.c @@ -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. */