X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=options.c;h=54ceaeed706cbaa110eff416375cbe5f5beb7393;hp=5401f90339bf7da688b8e645656cec3a24ee7228;hb=d84f8d4931be0c7519bd9f97f9914b07578a9854;hpb=36690c9b5b50736cec1fcd53100f01fd1181fdf4 diff --git a/options.c b/options.c index 5401f903..54ceaeed 100644 --- a/options.c +++ b/options.c @@ -64,6 +64,13 @@ static int str_lockmem_cb(void fio_unused *data, unsigned long *val) static int str_prioclass_cb(void *data, unsigned int *val) { struct thread_data *td = data; + unsigned short mask; + + /* + * mask off old class bits, str_prio_cb() may have set a default class + */ + mask = (1 << IOPRIO_CLASS_SHIFT) - 1; + td->ioprio &= mask; td->ioprio |= *val << IOPRIO_CLASS_SHIFT; return 0; @@ -74,6 +81,13 @@ static int str_prio_cb(void *data, unsigned int *val) struct thread_data *td = data; td->ioprio |= *val; + + /* + * If no class is set, assume BE + */ + if ((td->ioprio >> IOPRIO_CLASS_SHIFT) == 0) + td->ioprio |= IOPRIO_CLASS_BE << IOPRIO_CLASS_SHIFT; + return 0; } #endif @@ -477,6 +491,12 @@ static struct fio_option options[] = { .help = "Stop workload when this amount of time has passed", .def = "0", }, + { + .name = "time_based", + .type = FIO_OPT_STR_SET, + .off1 = td_var_offset(time_based), + .help = "Keep running until runtime/timeout is met", + }, { .name = "mem", .alias = "iomem", @@ -538,6 +558,13 @@ static struct fio_option options[] = { }, }, }, + { + .name = "verifysort", + .type = FIO_OPT_BOOL, + .off1 = td_var_offset(verifysort), + .help = "Sort written verify blocks for read back", + .def = "1", + }, { .name = "write_iolog", .type = FIO_OPT_STR_STORE, @@ -819,6 +846,21 @@ static struct fio_option options[] = { .off1 = td_var_offset(group_reporting), .help = "Do reporting on a per-group basis", }, + { + .name = "zero_buffers", + .type = FIO_OPT_STR_SET, + .off1 = td_var_offset(zero_buffers), + .help = "Init IO buffers to all zeroes", + }, +#ifdef FIO_HAVE_DISK_UTIL + { + .name = "disk_util", + .type = FIO_OPT_BOOL, + .off1 = td_var_offset(do_disk_util), + .help = "Log disk utilization stats", + .def = "1", + }, +#endif { .name = NULL, }, @@ -901,7 +943,9 @@ void options_mem_dupe(struct thread_data *td) __options_mem(td, 1); } -void options_mem_free(struct thread_data *td) +void options_mem_free(struct thread_data fio_unused *td) { +#if 0 __options_mem(td, 0); +#endif }