char *pct;
long long ll;
- if (td->o.ss != FIO_SS_IOPS && td->o.ss != FIO_SS_IOPS_SLOPE &&
- td->o.ss != FIO_SS_BW && td->o.ss != FIO_SS_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;
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_SS_IOPS) {
+ } 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);
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");
if (parse_dryrun())
return 0;
- td->o.ss_pct = false;
td->o.ss_limit.u.f = (double) ll;
-
}
- td->ss.state = td->o.ss;
+ td->ss.state = td->o.ss_state;
return 0;
}
.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%",