steadystate: rename options->ss to options->ss_state since ss is used elsewhere to...
[fio.git] / options.c
index dfa98d3e29ebeffb390bc064a2e15bfec1afafb7..e0db19ba836286133d681b259b6c00afb4cd5aa1 100644 (file)
--- a/options.c
+++ b/options.c
@@ -1063,16 +1063,14 @@ static int str_random_distribution_cb(void *data, const char *str)
 
 static int str_steadystate_cb(void *data, const char *str)
 {
-       struct thread_data *td = data;
+       struct thread_data *td = cb_data_to_td(data);
        double val;
        char *nr;
        char *pct;
        long long ll;
 
-       if (td->o.ss != FIO_STEADYSTATE_IOPS &&
-           td->o.ss != FIO_STEADYSTATE_IOPS_SLOPE &&
-           td->o.ss != FIO_STEADYSTATE_BW &&
-           td->o.ss != FIO_STEADYSTATE_BW_SLOPE) {
+       if (td->o.ss_state != FIO_SS_IOPS && td->o.ss_state != FIO_SS_IOPS_SLOPE &&
+           td->o.ss_state != FIO_SS_BW && td->o.ss_state != FIO_SS_BW_SLOPE) {
                /* should be impossible to get here */
                log_err("fio: unknown steady state criterion\n");
                return 1;
@@ -1101,12 +1099,9 @@ static int str_steadystate_cb(void *data, const char *str)
                if (parse_dryrun())
                        return 0;
 
-               td->o.ss_pct = true;
+               td->o.ss_state |= __FIO_SS_PCT;
                td->o.ss_limit.u.f = val;
-
-
-       } else if (td->o.ss == FIO_STEADYSTATE_IOPS ||
-                  td->o.ss == FIO_STEADYSTATE_IOPS_SLOPE) {
+       } else if (td->o.ss_state & __FIO_SS_IOPS) {
                if (!str_to_float(nr, &val, 0)) {
                        log_err("fio: steadystate IOPS threshold postfix parsing failed\n");
                        free(nr);
@@ -1118,9 +1113,7 @@ static int str_steadystate_cb(void *data, const char *str)
                if (parse_dryrun())
                        return 0;
 
-               td->o.ss_pct = false;
                td->o.ss_limit.u.f = val;
-
        } else {        /* bandwidth criterion */
                if (str_to_decimal(nr, &ll, 1, td, 0, 0)) {
                        log_err("fio: steadystate BW threshold postfix parsing failed\n");
@@ -1133,11 +1126,10 @@ static int str_steadystate_cb(void *data, const char *str)
                if (parse_dryrun())
                        return 0;
 
-               td->o.ss_pct = false;
                td->o.ss_limit.u.f = (double) ll;
-
        }
 
+       td->ss.state = td->o.ss_state;
        return 0;
 }
 
@@ -4218,26 +4210,26 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
                .lname  = "Steady state threshold",
                .alias  = "ss",
                .type   = FIO_OPT_STR,
-               .off1   = offsetof(struct thread_options, ss),
+               .off1   = offsetof(struct thread_options, ss_state),
                .cb     = str_steadystate_cb,
                .help   = "Define the criterion and limit to judge when a job has reached steady state",
                .def    = "iops_slope:0.01%",
                .posval = {
                          { .ival = "iops",
-                           .oval = FIO_STEADYSTATE_IOPS,
+                           .oval = FIO_SS_IOPS,
                            .help = "maximum mean deviation of IOPS measurements",
                          },
                          { .ival = "iops_slope",
-                           .oval = FIO_STEADYSTATE_IOPS_SLOPE,
+                           .oval = FIO_SS_IOPS_SLOPE,
                            .help = "slope calculated from IOPS measurements",
                          },
                          { .ival = "bw",
-                           .oval = FIO_STEADYSTATE_BW,
+                           .oval = FIO_SS_BW,
                            .help = "maximum mean deviation of bandwidth measurements",
                          },
                          {
                            .ival = "bw_slope",
-                           .oval = FIO_STEADYSTATE_BW_SLOPE,
+                           .oval = FIO_SS_BW_SLOPE,
                            .help = "slope calculated from bandwidth measurements",
                          },
                },