options: more groupings

Signed-off-by: Jens Axboe <axboe@kernel.dk>
diff --git a/options.c b/options.c
index 88b9142..22cc511 100644
--- a/options.c
+++ b/options.c
@@ -963,6 +963,22 @@
 		.mask	= FIO_OPT_G_CLOCK,
 	},
 	{
+		.name	= "I/O Type",
+		.mask	= FIO_OPT_G_IO_TYPE,
+	},
+	{
+		.name	= "I/O Thinktime",
+		.mask	= FIO_OPT_G_THINKTIME,
+	},
+	{
+		.name	= "Randomizations",
+		.mask	= FIO_OPT_G_RANDOM,
+	},
+	{
+		.name	= "I/O buffers",
+		.mask	= FIO_OPT_G_IO_BUF,
+	},
+	{
 		.name	= NULL,
 	}
 };
@@ -1394,7 +1410,7 @@
 		.parent = "rw",
 		.hide	= 1,
 		.category = FIO_OPT_C_IO,
-		.group	= FIO_OPT_G_INVALID,
+		.group	= FIO_OPT_G_RANDOM,
 	},
 	{
 		.name	= "use_os_rand",
@@ -1406,7 +1422,7 @@
 		.parent = "rw",
 		.hide	= 1,
 		.category = FIO_OPT_C_IO,
-		.group	= FIO_OPT_G_INVALID,
+		.group	= FIO_OPT_G_RANDOM,
 	},
 	{
 		.name	= "norandommap",
@@ -1417,7 +1433,7 @@
 		.parent = "rw",
 		.hide	= 1,
 		.category = FIO_OPT_C_IO,
-		.group	= FIO_OPT_G_INVALID,
+		.group	= FIO_OPT_G_RANDOM,
 	},
 	{
 		.name	= "softrandommap",
@@ -1429,7 +1445,7 @@
 		.hide	= 1,
 		.def	= "0",
 		.category = FIO_OPT_C_IO,
-		.group	= FIO_OPT_G_INVALID,
+		.group	= FIO_OPT_G_RANDOM,
 	},
 	{
 		.name	= "nrfiles",
@@ -1598,7 +1614,7 @@
 		.def	= "0",
 		.inverse = "buffered",
 		.category = FIO_OPT_C_IO,
-		.group	= FIO_OPT_G_INVALID,
+		.group	= FIO_OPT_G_IO_TYPE,
 	},
 	{
 		.name	= "buffered",
@@ -1610,7 +1626,7 @@
 		.def	= "1",
 		.inverse = "direct",
 		.category = FIO_OPT_C_IO,
-		.group	= FIO_OPT_G_INVALID,
+		.group	= FIO_OPT_G_IO_TYPE,
 	},
 	{
 		.name	= "overwrite",
@@ -1770,7 +1786,7 @@
 		.cb	= str_verify_cb,
 		.def	= "0",
 		.category = FIO_OPT_C_IO,
-		.group	= FIO_OPT_G_INVALID,
+		.group	= FIO_OPT_G_VERIFY,
 		.posval = {
 			  { .ival = "0",
 			    .oval = VERIFY_NONE,
@@ -2205,7 +2221,7 @@
 		.help	= "Idle time between IO buffers (usec)",
 		.def	= "0",
 		.category = FIO_OPT_C_IO,
-		.group	= FIO_OPT_G_INVALID,
+		.group	= FIO_OPT_G_THINKTIME,
 	},
 	{
 		.name	= "thinktime_spin",
@@ -2217,7 +2233,7 @@
 		.parent	= "thinktime",
 		.hide	= 1,
 		.category = FIO_OPT_C_IO,
-		.group	= FIO_OPT_G_INVALID,
+		.group	= FIO_OPT_G_THINKTIME,
 	},
 	{
 		.name	= "thinktime_blocks",
@@ -2229,7 +2245,7 @@
 		.parent	= "thinktime",
 		.hide	= 1,
 		.category = FIO_OPT_C_IO,
-		.group	= FIO_OPT_G_INVALID,
+		.group	= FIO_OPT_G_THINKTIME,
 	},
 	{
 		.name	= "rate",
@@ -2296,7 +2312,7 @@
 		.help	= "Invalidate buffer/page cache prior to running job",
 		.def	= "1",
 		.category = FIO_OPT_C_IO,
-		.group	= FIO_OPT_G_INVALID,
+		.group	= FIO_OPT_G_IO_TYPE,
 	},
 	{
 		.name	= "sync",
@@ -2308,7 +2324,7 @@
 		.parent = "buffered",
 		.hide	= 1,
 		.category = FIO_OPT_C_IO,
-		.group	= FIO_OPT_G_INVALID,
+		.group	= FIO_OPT_G_IO_TYPE,
 	},
 	{
 		.name	= "bwavgtime",
@@ -2526,17 +2542,6 @@
 		.group	= FIO_OPT_G_INVALID,
 	},
 	{
-		.name	= "hugepage-size",
-		.lname	= "Hugepage size",
-		.type	= FIO_OPT_INT,
-		.off1	= td_var_offset(hugepage_size),
-		.help	= "When using hugepages, specify size of each page",
-		.def	= __fio_stringify(FIO_HUGE_PAGE),
-		.interval = 1024 * 1024,
-		.category = FIO_OPT_C_GENERAL,
-		.group	= FIO_OPT_G_INVALID,
-	},
-	{
 		.name	= "group_reporting",
 		.lname	= "Group reporting",
 		.type	= FIO_OPT_BOOL,
@@ -2553,7 +2558,7 @@
 		.off1	= td_var_offset(zero_buffers),
 		.help	= "Init IO buffers to all zeroes",
 		.category = FIO_OPT_C_IO,
-		.group	= FIO_OPT_G_INVALID,
+		.group	= FIO_OPT_G_IO_BUF,
 	},
 	{
 		.name	= "refill_buffers",
@@ -2562,7 +2567,7 @@
 		.off1	= td_var_offset(refill_buffers),
 		.help	= "Refill IO buffers on every IO submit",
 		.category = FIO_OPT_C_IO,
-		.group	= FIO_OPT_G_INVALID,
+		.group	= FIO_OPT_G_IO_BUF,
 	},
 	{
 		.name	= "scramble_buffers",
@@ -2572,7 +2577,7 @@
 		.help	= "Slightly scramble buffers on every IO submit",
 		.def	= "1",
 		.category = FIO_OPT_C_IO,
-		.group	= FIO_OPT_G_INVALID,
+		.group	= FIO_OPT_G_IO_BUF,
 	},
 	{
 		.name	= "buffer_compress_percentage",
@@ -2584,7 +2589,7 @@
 		.help	= "How compressible the buffer is (approximately)",
 		.interval = 5,
 		.category = FIO_OPT_C_IO,
-		.group	= FIO_OPT_G_INVALID,
+		.group	= FIO_OPT_G_IO_BUF,
 	},
 	{
 		.name	= "buffer_compress_chunk",
@@ -2596,7 +2601,7 @@
 		.help	= "Size of compressible region in buffer",
 		.interval = 256,
 		.category = FIO_OPT_C_IO,
-		.group	= FIO_OPT_G_INVALID,
+		.group	= FIO_OPT_G_IO_BUF,
 	},
 	{
 		.name	= "clat_percentiles",
@@ -2818,6 +2823,17 @@
 		.group	= FIO_OPT_G_INVALID,
 	},
 	{
+		.name	= "hugepage-size",
+		.lname	= "Hugepage size",
+		.type	= FIO_OPT_INT,
+		.off1	= td_var_offset(hugepage_size),
+		.help	= "When using hugepages, specify size of each page",
+		.def	= __fio_stringify(FIO_HUGE_PAGE),
+		.interval = 1024 * 1024,
+		.category = FIO_OPT_C_GENERAL,
+		.group	= FIO_OPT_G_INVALID,
+	},
+	{
 		.name	= "flow_id",
 		.lname	= "I/O flow ID",
 		.type	= FIO_OPT_INT,