projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Extend --readonly
[fio.git]
/
init.c
diff --git
a/init.c
b/init.c
index f3cb9ad6c18d44581d13d67e8d850ab791d2442b..89c66afa0e1b8b439ce5a534f76e5d83183431ce 100644
(file)
--- a/
init.c
+++ b/
init.c
@@
-35,6
+35,7
@@
FILE *f_out = NULL;
FILE *f_err = NULL;
int write_bw_log = 0;
FILE *f_err = NULL;
int write_bw_log = 0;
+int read_only = 0;
static int def_timeout = 0;
static int write_lat_log = 0;
static int def_timeout = 0;
static int write_lat_log = 0;
@@
-89,7
+90,12
@@
static struct option long_options[FIO_NR_OPTIONS] = {
{
.name = "showcmd",
.has_arg = no_argument,
{
.name = "showcmd",
.has_arg = no_argument,
- .val = 's'
+ .val = 's',
+ },
+ {
+ .name = "readonly",
+ .has_arg = no_argument,
+ .val = 'r',
},
{
.name = NULL,
},
{
.name = NULL,
@@
-180,6
+186,11
@@
static int fixup_options(struct thread_data *td)
{
struct thread_options *o = &td->o;
{
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];
if (o->rwmix[DDIR_READ] + o->rwmix[DDIR_WRITE] > 100)
o->rwmix[DDIR_WRITE] = 100 - o->rwmix[DDIR_READ];
@@
-768,6
+779,9
@@
static int parse_cmd_line(int argc, char *argv[])
case 's':
dump_cmdline = 1;
break;
case 's':
dump_cmdline = 1;
break;
+ case 'r':
+ read_only = 1;
+ break;
case 'v':
printf("%s\n", fio_version_string);
exit(0);
case 'v':
printf("%s\n", fio_version_string);
exit(0);