From: Darrick J. Wong Date: Fri, 5 Aug 2022 02:28:23 +0000 (-0500) Subject: mkfs: complain about impossible log size constraints X-Git-Tag: v5.19.0-rc1~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=db5b866537e78669f7b84590345b0c37f841f701;p=thirdparty%2Fxfsprogs-dev.git mkfs: complain about impossible log size constraints xfs/042 trips over an impossible fs geometry when nrext64 is enabled. The minimum log size calculation comes out to 4287 blocks, but the mkfs parameters specify an AG size of 4096 blocks. This eventually causes mkfs to complain that the autoselected log size doesn't meet the minimum size, but we could be a little more explicit in pointing out that the two size constraints make for an impossible geometry. Signed-off-by: Darrick J. Wong Reviewed-by: Eric Sandeen Signed-off-by: Eric Sandeen --- diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c index 12994edca..9dd0e79c6 100644 --- a/mkfs/xfs_mkfs.c +++ b/mkfs/xfs_mkfs.c @@ -3490,6 +3490,13 @@ _("external log device size %lld blocks too small, must be at least %lld blocks\ * an AG. */ max_logblocks = libxfs_alloc_ag_max_usable(mp) - 1; + if (max_logblocks < min_logblocks) { + fprintf(stderr, +_("max log size %d smaller than min log size %d, filesystem is too small\n"), + max_logblocks, + min_logblocks); + usage(); + } /* internal log - if no size specified, calculate automatically */ if (!cfg->logblocks) {