X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=options.c;h=e67742ddec211043e1bdceadeae9b0ed5f375282;hp=aeba5201e7303a2d83d9e34e7a3110dc0be2f7a4;hb=375b2695693f56987e23deef3ded8e5b06ef6797;hpb=160b966d83adace2629de10f85ed269ab2e587f5 diff --git a/options.c b/options.c index aeba5201..e67742dd 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 @@ -103,6 +117,7 @@ static int str_cpumask_cb(void *data, unsigned int *val) struct thread_data *td = data; fill_cpu_mask(td->o.cpumask, *val); + td->o.cpumask_set = 1; return 0; } @@ -477,6 +492,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", @@ -826,6 +847,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, }, @@ -908,7 +944,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 }