static char **ini_file;
static int max_jobs = MAX_JOBS;
static int dump_cmdline;
+static int read_only;
struct thread_data def_thread;
struct thread_data *threads = NULL;
{
.name = "showcmd",
.has_arg = no_argument,
- .val = 's'
+ .val = 's',
+ },
+ {
+ .name = "readonly",
+ .has_arg = no_argument,
+ .val = 'r',
},
{
.name = NULL,
{
struct thread_options *o = &td->o;
+ 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;
+ }
+
if (o->rwmix[DDIR_READ] + o->rwmix[DDIR_WRITE] > 100)
o->rwmix[DDIR_WRITE] = 100 - o->rwmix[DDIR_READ];
case 's':
dump_cmdline = 1;
break;
+ case 'r':
+ read_only = 1;
+ break;
case 'v':
printf("%s\n", fio_version_string);
exit(0);