public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] mkfs: custom agcount that renders AG size < XFS_AG_MIN_BYTES gives "Assertion failed. Aborted"
@ 2022-07-05  3:19 Srikanth C S
  2022-07-05  3:55 ` Dave Chinner
  0 siblings, 1 reply; 5+ messages in thread
From: Srikanth C S @ 2022-07-05  3:19 UTC (permalink / raw)
  To: linux-xfs; +Cc: rajesh.sivaramasubramaniom, junxiao.bi, Srikanth C S

For a 2GB FS we have
$ mkfs.xfs -f -d agcount=129 test.img
mkfs.xfs: xfs_mkfs.c:3021: align_ag_geometry: Assertion `!cli_opt_set(&dopts, D_AGCOUNT)' failed.
Aborted

With this change we have
$ mkfs.xfs -f -d agcount=129 test.img
Invalid value 129 for -d agcount option. Value is too large.

Signed-off-by: Srikanth C S <srikanth.c.s@oracle.com>
---
 mkfs/xfs_mkfs.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c
index 057b3b09..32dcbfff 100644
--- a/mkfs/xfs_mkfs.c
+++ b/mkfs/xfs_mkfs.c
@@ -2897,6 +2897,13 @@ _("agsize (%s) not a multiple of fs blk size (%d)\n"),
 		cfg->agcount = cli->agcount;
 		cfg->agsize = cfg->dblocks / cfg->agcount +
 				(cfg->dblocks % cfg->agcount != 0);
+		if (cfg->agsize < XFS_AG_MIN_BYTES >> cfg->blocklog)
+		{
+			fprintf(stderr,
+_("Invalid value %lld for -d agcount option. Value is too large.\n"),
+				(long long)cli->agcount);
+			usage();	
+		}
 	} else {
 		calc_default_ag_geometry(cfg->blocklog, cfg->dblocks,
 					 cfg->dsunit, &cfg->agsize,
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-07-06  3:19 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-05  3:19 [PATCH] mkfs: custom agcount that renders AG size < XFS_AG_MIN_BYTES gives "Assertion failed. Aborted" Srikanth C S
2022-07-05  3:55 ` Dave Chinner
2022-07-05 16:54   ` Darrick J. Wong
2022-07-05 18:12     ` Srikanth C S
2022-07-06  3:19       ` Darrick J. Wong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox