Catch NULL td->o.ioengine
[fio.git] / options.c
index 97c5b6f93669170981312e58e62f59d98c7730c9..d0c53b6c988ed3ee3d61a774eee595091478a6e9 100644 (file)
--- a/options.c
+++ b/options.c
@@ -381,7 +381,6 @@ static int str_perc_rand_cb(void *data, unsigned long long *val)
        struct thread_data *td = data;
 
        td->o.perc_rand = *val;
-       td->o.perc_seq = 100 - *val;
        return 0;
 }
 
@@ -389,7 +388,6 @@ static int str_perc_seq_cb(void *data, unsigned long long *val)
 {
        struct thread_data *td = data;
 
-       td->o.perc_seq = *val;
        td->o.perc_rand = 100 - *val;
        return 0;
 }
@@ -1304,6 +1302,11 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
                          { .ival = "vsync",
                            .help = "Use readv/writev",
                          },
+#ifdef CONFIG_PWRITEV
+                         { .ival = "pvsync",
+                           .help = "Use preadv/pwritev",
+                         },
+#endif
 #ifdef CONFIG_LIBAIO
                          { .ival = "libaio",
                            .help = "Linux native asynchronous IO",
@@ -2821,7 +2824,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
        {
                .name   = "group_reporting",
                .lname  = "Group reporting",
-               .type   = FIO_OPT_BOOL,
+               .type   = FIO_OPT_STR_SET,
                .off1   = td_var_offset(group_reporting),
                .help   = "Do reporting on a per-group basis",
                .category = FIO_OPT_C_STAT,