Fix iodepth_batch=0
[fio.git] / options.c
index a9256632d360c3cab7be2a7f67bf77886285cf65..7a22fe4de7352a3e78c7813d97c24e2583adfbb1 100644 (file)
--- a/options.c
+++ b/options.c
@@ -788,7 +788,7 @@ static int str_fst_cb(void *data, const char *str)
                break;
        case FIO_FSERVICE_GAUSS:
                if (val < 0.00 || val >= 100.00) {
-                          log_err("fio: normal deviation out of range (0 < input < 100.0  )\n");
+                          log_err("fio: normal deviation out of range (0 <= input < 100.0)\n");
                           return 1;
                }
                if (parse_dryrun())
@@ -1048,7 +1048,7 @@ static int str_random_distribution_cb(void *data, const char *str)
                td->o.pareto_h.u.f = val;
        } else {
                if (val < 0.00 || val >= 100.0) {
-                       log_err("fio: normal deviation out of range (0 < input < 100.0)\n");
+                       log_err("fio: normal deviation out of range (0 <= input < 100.0)\n");
                        return 1;
                }
                if (parse_dryrun())
@@ -1124,7 +1124,8 @@ static int get_max_name_idx(char *input)
  * Returns the directory at the index, indexes > entires will be
  * assigned via modulo division of the index
  */
-int set_name_idx(char *target, size_t tlen, char *input, int index)
+int set_name_idx(char *target, size_t tlen, char *input, int index,
+                bool unique_filename)
 {
        unsigned int cur_idx;
        int len;
@@ -1136,7 +1137,7 @@ int set_name_idx(char *target, size_t tlen, char *input, int index)
        for (cur_idx = 0; cur_idx <= index; cur_idx++)
                fname = get_next_name(&str);
 
-       if (client_sockaddr_str[0]) {
+       if (client_sockaddr_str[0] && unique_filename) {
                len = snprintf(target, tlen, "%s/%s.", fname,
                                client_sockaddr_str);
        } else
@@ -1390,6 +1391,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
        },
        {
                .name   = "filename_format",
+               .lname  = "Filename Format",
                .type   = FIO_OPT_STR_STORE,
                .off1   = td_var_offset(filename_format),
                .prio   = -1, /* must come after "directory" */
@@ -1398,6 +1400,16 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
                .category = FIO_OPT_C_FILE,
                .group  = FIO_OPT_G_FILENAME,
        },
+       {
+               .name   = "unique_filename",
+               .lname  = "Unique Filename",
+               .type   = FIO_OPT_BOOL,
+               .off1   = td_var_offset(unique_filename),
+               .help   = "For network clients, prefix file with source IP",
+               .def    = "1",
+               .category = FIO_OPT_C_FILE,
+               .group  = FIO_OPT_G_FILENAME,
+       },
        {
                .name   = "lockfile",
                .lname  = "Lockfile",
@@ -1536,7 +1548,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
                            .help = "Use preadv/pwritev",
                          },
 #endif
-#ifdef CONFIG_PWRITEV2
+#ifdef FIO_HAVE_PWRITEV2
                          { .ival = "pvsync2",
                            .help = "Use preadv2/pwritev2",
                          },
@@ -1666,7 +1678,6 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
                .help   = "Number of IO buffers to submit in one go",
                .parent = "iodepth",
                .hide   = 1,
-               .minval = 1,
                .interval = 1,
                .def    = "1",
                .category = FIO_OPT_C_IO,
@@ -1965,6 +1976,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
        },
        {
                .name   = "random_generator",
+               .lname  = "Random Generator",
                .type   = FIO_OPT_STR,
                .off1   = td_var_offset(random_generator),
                .help   = "Type of random number generator to use",
@@ -1989,6 +2001,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
        },
        {
                .name   = "random_distribution",
+               .lname  = "Random Distribution",
                .type   = FIO_OPT_STR,
                .off1   = td_var_offset(random_distribution),
                .cb     = str_random_distribution_cb,
@@ -2009,7 +2022,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
                          },
                          { .ival = "normal",
                            .oval = FIO_RAND_DIST_GAUSS,
-                           .help = "Normal (gaussian) distribution",
+                           .help = "Normal (Gaussian) distribution",
                          },
                          { .ival = "zoned",
                            .oval = FIO_RAND_DIST_ZONED,
@@ -2044,6 +2057,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
        },
        {
                .name   = "allrandrepeat",
+               .lname  = "All Random Repeat",
                .type   = FIO_OPT_BOOL,
                .off1   = td_var_offset(allrand_repeatable),
                .help   = "Use repeatable random numbers for everything",
@@ -2543,6 +2557,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
        },
        {
                .name   = "verifysort_nr",
+               .lname  = "Verify Sort Nr",
                .type   = FIO_OPT_INT,
                .off1   = td_var_offset(verifysort_nr),
                .help   = "Pre-load and sort verify blocks for a read workload",
@@ -2664,6 +2679,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
 #endif
        {
                .name   = "experimental_verify",
+               .lname  = "Experimental Verify",
                .off1   = td_var_offset(experimental_verify),
                .type   = FIO_OPT_BOOL,
                .help   = "Enable experimental verification",
@@ -3078,6 +3094,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
        },
        {
                .name   = "max_latency",
+               .lname  = "Max Latency",
                .type   = FIO_OPT_INT,
                .off1   = td_var_offset(max_latency),
                .help   = "Maximum tolerated IO latency (usec)",
@@ -3172,6 +3189,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
        },
        {
                .name   = "create_only",
+               .lname  = "Create Only",
                .type   = FIO_OPT_BOOL,
                .off1   = td_var_offset(create_only),
                .help   = "Only perform file creation phase",
@@ -3254,6 +3272,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
 #ifdef CONFIG_LIBNUMA
        {
                .name   = "numa_cpu_nodes",
+               .lname  = "NUMA CPU Nodes",
                .type   = FIO_OPT_STR,
                .cb     = str_numa_cpunodes_cb,
                .off1   = td_var_offset(numa_cpunodes),
@@ -3263,6 +3282,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
        },
        {
                .name   = "numa_mem_policy",
+               .lname  = "NUMA Memory Policy",
                .type   = FIO_OPT_STR,
                .cb     = str_numa_mpol_cb,
                .off1   = td_var_offset(numa_memnodes),
@@ -3353,6 +3373,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
        },
        {
                .name   = "per_job_logs",
+               .lname  = "Per Job Logs",
                .type   = FIO_OPT_BOOL,
                .off1   = td_var_offset(per_job_logs),
                .help   = "Include job number in generated log files or not",
@@ -3683,6 +3704,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
        },
        {
                .name   = "unified_rw_reporting",
+               .lname  = "Unified RW Reporting",
                .type   = FIO_OPT_BOOL,
                .off1   = td_var_offset(unified_rw_rep),
                .help   = "Unify reporting across data direction",
@@ -3736,6 +3758,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
        },
        {
                .name   = "ignore_error",
+               .lname  = "Ignore Error",
                .type   = FIO_OPT_STR,
                .cb     = str_ignore_error_cb,
                .off1   = td_var_offset(ignore_error_nr),
@@ -3746,6 +3769,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
        },
        {
                .name   = "error_dump",
+               .lname  = "Error Dump",
                .type   = FIO_OPT_BOOL,
                .off1   = td_var_offset(error_dump),
                .def    = "0",