From: Jens Axboe Date: Wed, 1 Jul 2009 08:38:35 +0000 (+0200) Subject: Move rw= write && read_only check to ->verify callback X-Git-Tag: fio-1.29-rc1~3 X-Git-Url: https://git.kernel.dk/?p=fio.git;a=commitdiff_plain;h=896cac2a44de3725a6d615914e239cab4f382e1c Move rw= write && read_only check to ->verify callback Signed-off-by: Jens Axboe --- diff --git a/init.c b/init.c index 84c312f9..cd32725c 100644 --- a/init.c +++ b/init.c @@ -241,11 +241,13 @@ static int fixup_options(struct thread_data *td) } #endif +#if 0 if (read_only && td_write(td)) { log_err("fio: job <%s> has write bit set, but fio is in" " read-only mode\n", td->o.name); return 1; } +#endif if (o->write_iolog_file && o->read_iolog_file) { log_err("fio: read iolog overrides write_iolog\n"); diff --git a/options.c b/options.c index 7135231e..354067d3 100644 --- a/options.c +++ b/options.c @@ -575,6 +575,19 @@ static int str_gtod_cpu_cb(void *data, int *il) return 0; } +static int rw_verify(struct fio_option *o, void *data) +{ + struct thread_data *td = data; + + if (read_only && td_write(td)) { + log_err("fio: job <%s> has write bit set, but fio is in" + " read-only mode\n", td->o.name); + return 1; + } + + return 0; +} + #define __stringify_1(x) #x #define __stringify(x) __stringify_1(x) @@ -648,6 +661,7 @@ static struct fio_option options[] = { .off1 = td_var_offset(td_ddir), .help = "IO direction", .def = "read", + .verify = rw_verify, .posval = { { .ival = "read", .oval = TD_DDIR_READ,