projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
memcpy: use malloc
[fio.git]
/
options.c
diff --git
a/options.c
b/options.c
index d979f804d76c7f694e746956af3fd48e55cb2ac4..3fa646c0f364c97c3671cb676e8f5ec830ac3a89 100644
(file)
--- a/
options.c
+++ b/
options.c
@@
-54,16
+54,15
@@
static int bs_cmp(const void *p1, const void *p2)
return (int) bsp1->perc - (int) bsp2->perc;
}
return (int) bsp1->perc - (int) bsp2->perc;
}
-#define SPLIT_MAX_ENTRY 100
-
struct split {
unsigned int nr;
struct split {
unsigned int nr;
- unsigned int val1[
SPLIT_MAX_ENTRY
];
- unsigned long long val2[
SPLIT_MAX_ENTRY
];
+ unsigned int val1[
ZONESPLIT_MAX
];
+ unsigned long long val2[
ZONESPLIT_MAX
];
};
static int split_parse_ddir(struct thread_options *o, struct split *split,
};
static int split_parse_ddir(struct thread_options *o, struct split *split,
- enum fio_ddir ddir, char *str, bool absolute)
+ enum fio_ddir ddir, char *str, bool absolute,
+ unsigned int max_splits)
{
unsigned long long perc;
unsigned int i;
{
unsigned long long perc;
unsigned int i;
@@
-111,8
+110,10
@@
static int split_parse_ddir(struct thread_options *o, struct split *split,
split->val1[i] = val;
split->val2[i] = perc;
i++;
split->val1[i] = val;
split->val2[i] = perc;
i++;
- if (i == SPLIT_MAX_ENTRY)
+ if (i == max_splits) {
+ log_err("fio: hit max of %d split entries\n", i);
break;
break;
+ }
}
split->nr = i;
}
split->nr = i;
@@
-128,7
+129,7
@@
static int bssplit_ddir(struct thread_options *o, enum fio_ddir ddir, char *str,
memset(&split, 0, sizeof(split));
memset(&split, 0, sizeof(split));
- if (split_parse_ddir(o, &split, ddir, str, data))
+ if (split_parse_ddir(o, &split, ddir, str, data
, BSSPLIT_MAX
))
return 1;
if (!split.nr)
return 0;
return 1;
if (!split.nr)
return 0;
@@
-848,7
+849,7
@@
static int zone_split_ddir(struct thread_options *o, enum fio_ddir ddir,
memset(&split, 0, sizeof(split));
memset(&split, 0, sizeof(split));
- if (split_parse_ddir(o, &split, ddir, str, absolute))
+ if (split_parse_ddir(o, &split, ddir, str, absolute
, ZONESPLIT_MAX
))
return 1;
if (!split.nr)
return 0;
return 1;
if (!split.nr)
return 0;
@@
-1129,9
+1130,9
@@
static int str_steadystate_cb(void *data, const char *str)
if (parse_dryrun())
return 0;
if (parse_dryrun())
return 0;
- td->o.ss_state |=
__
FIO_SS_PCT;
+ td->o.ss_state |= FIO_SS_PCT;
td->o.ss_limit.u.f = val;
td->o.ss_limit.u.f = val;
- } else if (td->o.ss_state &
__
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 (!str_to_float(nr, &val, 0)) {
log_err("fio: steadystate IOPS threshold postfix parsing failed\n");
free(nr);
@@
-3460,8
+3461,8
@@
struct fio_option fio_options[FIO_MAX_OPTS] = {
},
{
.name = "max_latency",
},
{
.name = "max_latency",
- .lname = "Max Latency",
- .type = FIO_OPT_
INT
,
+ .lname = "Max Latency
(usec)
",
+ .type = FIO_OPT_
STR_VAL_TIME
,
.off1 = offsetof(struct thread_options, max_latency),
.help = "Maximum tolerated IO latency (usec)",
.is_time = 1,
.off1 = offsetof(struct thread_options, max_latency),
.help = "Maximum tolerated IO latency (usec)",
.is_time = 1,