projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
server: handle shared mem pool allocation failures
[fio.git]
/
profile.c
diff --git
a/profile.c
b/profile.c
index 74f14facd6c6d0115bea1af3dc0c328fda1fdfd7..90c9ea8d14eb6c4d52c5a94bef7eab3e32fc0a0e 100644
(file)
--- a/
profile.c
+++ b/
profile.c
@@
-30,7
+30,10
@@
int load_profile(const char *profile)
ops = find_profile(profile);
if (ops) {
ops = find_profile(profile);
if (ops) {
- ops->prep_cmd();
+ if (ops->prep_cmd()) {
+ log_err("fio: profile %s prep failed\n", profile);
+ return 1;
+ }
add_job_opts(ops->cmdline, FIO_CLIENT_TYPE_CLI);
return 0;
}
add_job_opts(ops->cmdline, FIO_CLIENT_TYPE_CLI);
return 0;
}
@@
-49,6
+52,7
@@
static int add_profile_options(struct profile_ops *ops)
o = ops->options;
while (o->name) {
o->prof_name = ops->name;
o = ops->options;
while (o->name) {
o->prof_name = ops->name;
+ o->prof_opts = ops->opt_data;
if (add_option(o))
return 1;
o++;
if (add_option(o))
return 1;
o++;
@@
-93,8
+97,10
@@
void profile_add_hooks(struct thread_data *td)
if (!ops)
return;
if (!ops)
return;
- if (ops->io_ops)
+ if (ops->io_ops)
{
td->prof_io_ops = *ops->io_ops;
td->prof_io_ops = *ops->io_ops;
+ td->flags |= TD_F_PROFILE_OPS;
+ }
}
int profile_td_init(struct thread_data *td)
}
int profile_td_init(struct thread_data *td)