Merge branch 'master' into gfio
[fio.git] / options.c
index 14616408dcd0da3953f764289b0196309220af70..00e542b078588cc2b287b5cecc6937b84e39d32f 100644 (file)
--- a/options.c
+++ b/options.c
@@ -868,20 +868,6 @@ static int str_verify_pattern_cb(void *data, const char *input)
        return 0;
 }
 
        return 0;
 }
 
-static int str_lockfile_cb(void *data, const char *str)
-{
-       struct thread_data *td = data;
-       char *nr = get_opt_postfix(str);
-
-       td->o.lockfile_batch = 1;
-       if (nr) {
-               td->o.lockfile_batch = atoi(nr);
-               free(nr);
-       }
-
-       return 0;
-}
-
 static int str_gtod_reduce_cb(void *data, int *il)
 {
        struct thread_data *td = data;
 static int str_gtod_reduce_cb(void *data, int *il)
 {
        struct thread_data *td = data;
@@ -1165,7 +1151,6 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
                .name   = "lockfile",
                .lname  = "Lockfile",
                .type   = FIO_OPT_STR,
                .name   = "lockfile",
                .lname  = "Lockfile",
                .type   = FIO_OPT_STR,
-               .cb     = str_lockfile_cb,
                .off1   = td_var_offset(file_lock_mode),
                .help   = "Lock file when doing IO to it",
                .parent = "filename",
                .off1   = td_var_offset(file_lock_mode),
                .help   = "Lock file when doing IO to it",
                .parent = "filename",
@@ -1300,12 +1285,12 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
                            .help = "POSIX asynchronous IO",
                          },
 #endif
                            .help = "POSIX asynchronous IO",
                          },
 #endif
-#ifdef FIO_HAVE_SOLARISAIO
+#ifdef CONFIG_SOLARISAIO
                          { .ival = "solarisaio",
                            .help = "Solaris native asynchronous IO",
                          },
 #endif
                          { .ival = "solarisaio",
                            .help = "Solaris native asynchronous IO",
                          },
 #endif
-#ifdef FIO_HAVE_WINDOWSAIO
+#ifdef CONFIG_WINDOWSAIO
                          { .ival = "windowsaio",
                            .help = "Windows native asynchronous IO"
                          },
                          { .ival = "windowsaio",
                            .help = "Windows native asynchronous IO"
                          },
@@ -1355,12 +1340,12 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
                            .help = "Fusion-io atomic write engine",
                          },
 #endif
                            .help = "Fusion-io atomic write engine",
                          },
 #endif
-#ifdef FIO_HAVE_E4_ENG
+#ifdef CONFIG_LINUX_EXT4_MOVE_EXTENT
                          { .ival = "e4defrag",
                            .help = "ext4 defrag engine",
                          },
 #endif
                          { .ival = "e4defrag",
                            .help = "ext4 defrag engine",
                          },
 #endif
-#ifdef FIO_HAVE_FALLOC_ENG
+#ifdef CONFIG_LINUX_FALLOCATE
                          { .ival = "falloc",
                            .help = "fallocate() file based engine",
                          },
                          { .ival = "falloc",
                            .help = "fallocate() file based engine",
                          },
@@ -1695,7 +1680,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
                .parent = "nrfiles",
                .hide   = 1,
        },
                .parent = "nrfiles",
                .hide   = 1,
        },
-#ifdef FIO_HAVE_FALLOCATE
+#ifdef CONFIG_POSIX_FALLOCATE
        {
                .name   = "fallocate",
                .lname  = "Fallocate",
        {
                .name   = "fallocate",
                .lname  = "Fallocate",
@@ -1714,7 +1699,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
                            .oval = FIO_FALLOCATE_POSIX,
                            .help = "Use posix_fallocate()",
                          },
                            .oval = FIO_FALLOCATE_POSIX,
                            .help = "Use posix_fallocate()",
                          },
-#ifdef FIO_HAVE_LINUX_FALLOCATE
+#ifdef CONFIG_LINUX_FALLOCATE
                          { .ival = "keep",
                            .oval = FIO_FALLOCATE_KEEP_SIZE,
                            .help = "Use fallocate(..., FALLOC_FL_KEEP_SIZE, ...)",
                          { .ival = "keep",
                            .oval = FIO_FALLOCATE_KEEP_SIZE,
                            .help = "Use fallocate(..., FALLOC_FL_KEEP_SIZE, ...)",
@@ -1731,7 +1716,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
                          },
                },
        },
                          },
                },
        },
-#endif /* FIO_HAVE_FALLOCATE */
+#endif /* CONFIG_POSIX_FALLOCATE */
        {
                .name   = "fadvise_hint",
                .lname  = "Fadvise hint",
        {
                .name   = "fadvise_hint",
                .lname  = "Fadvise hint",
@@ -2193,6 +2178,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
                .name   = "experimental_verify",
                .off1   = td_var_offset(experimental_verify),
                .type   = FIO_OPT_BOOL,
                .name   = "experimental_verify",
                .off1   = td_var_offset(experimental_verify),
                .type   = FIO_OPT_BOOL,
+               .help   = "Enable experimental verification",
                .category = FIO_OPT_C_IO,
                .group  = FIO_OPT_G_VERIFY,
        },
                .category = FIO_OPT_C_IO,
                .group  = FIO_OPT_G_VERIFY,
        },
@@ -2850,8 +2836,9 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
                .lname  = "Completion latency percentile list",
                .type   = FIO_OPT_FLOAT_LIST,
                .off1   = td_var_offset(percentile_list),
                .lname  = "Completion latency percentile list",
                .type   = FIO_OPT_FLOAT_LIST,
                .off1   = td_var_offset(percentile_list),
-               .off2   = td_var_offset(overwrite_plist),
+               .off2   = td_var_offset(percentile_precision),
                .help   = "Specify a custom list of percentiles to report",
                .help   = "Specify a custom list of percentiles to report",
+               .def    = "1:5:10:20:30:40:50:60:70:80:90:95:99:99.5:99.9:99.95:99.99",
                .maxlen = FIO_IO_U_LIST_MAX_LEN,
                .minfp  = 0.0,
                .maxfp  = 100.0,
                .maxlen = FIO_IO_U_LIST_MAX_LEN,
                .minfp  = 0.0,
                .maxfp  = 100.0,
@@ -2940,6 +2927,15 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
                .category = FIO_OPT_C_GENERAL,
                .group  = FIO_OPT_G_CLOCK,
        },
                .category = FIO_OPT_C_GENERAL,
                .group  = FIO_OPT_G_CLOCK,
        },
+       {
+               .name   = "unified_rw_reporting",
+               .type   = FIO_OPT_BOOL,
+               .off1   = td_var_offset(unified_rw_rep),
+               .help   = "Unify reporting across data direction",
+               .def    = "0",
+               .category = FIO_OPT_C_GENERAL,
+               .group  = FIO_OPT_G_INVALID,
+       },
        {
                .name   = "continue_on_error",
                .lname  = "Continue on error",
        {
                .name   = "continue_on_error",
                .lname  = "Continue on error",