.name = "rw",
.type = FIO_OPT_STR,
.cb = str_rw_cb,
- .help = "IO direction (read, write, rw, etc)",
+ .help = "IO direction",
.def = "read",
+ .posval = { "read", "write", "randwrite", "randread", "rw",
+ "randrw", },
},
{
.name = "ioengine",
.type = FIO_OPT_STR,
.cb = str_ioengine_cb,
- .help = "IO engine to use (sync, aio, etc)",
+ .help = "IO engine to use",
.def = "sync",
+ .posval = { "sync", "libaio", "posixaio", "mmap", "splice",
+ "sg", "null", },
},
{
.name = "mem",
.type = FIO_OPT_STR,
.cb = str_mem_cb,
- .help = "Backing type for IO buffers (malloc, shm, etc)",
+ .help = "Backing type for IO buffers",
.def = "malloc",
+ .posval = { "malloc", "shm", "shmhuge", "mmap", "mmaphuge", },
},
{
.name = "verify",
.type = FIO_OPT_STR,
.cb = str_verify_cb,
- .help = "Verify sum function (md5 or crc32)",
+ .help = "Verify sum function",
.def = "0",
+ .posval = { "crc32", "md5", },
},
{
.name = "write_iolog",
.type = FIO_OPT_INT,
.off1 = td_var_offset(nice),
.help = "Set job CPU nice value",
+ .minval = -19,
.maxval = 20,
.def = "0",
},
.type = FIO_OPT_INT,
.cb = str_prio_cb,
.help = "Set job IO priority value",
+ .minval = 0,
+ .maxval = 7,
},
{
.name = "prioclass",
.type = FIO_OPT_INT,
.cb = str_prioclass_cb,
.help = "Set job IO priority class",
+ .minval = 0,
+ .maxval = 3,
},
#endif
{
return 1;
}
+static void show_option_range(struct fio_option *o)
+{
+ if (!o->minval && !o->maxval)
+ return;
+
+ printf("%16s: min=%d, max=%d\n", "range", o->minval, o->maxval);
+}
+
+static void show_option_values(struct fio_option *o)
+{
+ const char *msg;
+ int i = 0;
+
+ if (!o->posval)
+ return;
+
+ do {
+ msg = o->posval[i];
+ if (!msg)
+ break;
+
+ if (!i)
+ printf("%16s: ", "valid values");
+
+ printf("%s,", msg);
+ i++;
+ } while (1);
+
+ if (i)
+ printf("\n");
+}
+
int show_cmd_help(struct fio_option *options, const char *name)
{
int show_all = !strcmp(name, "all");
if (match) {
printf("%16s: %s\n", "type", typehelp[o->type]);
printf("%16s: %s\n", "default", o->def ? o->def : "no default");
+ show_option_range(o);
+ show_option_values(o);
}
}