summaryrefslogtreecommitdiff
path: root/profile.c
diff options
context:
space:
mode:
Diffstat (limited to 'profile.c')
-rw-r--r--profile.c122
1 files changed, 0 insertions, 122 deletions
diff --git a/profile.c b/profile.c
deleted file mode 100644
index 90c9ea8d..00000000
--- a/profile.c
+++ /dev/null
@@ -1,122 +0,0 @@
-#include "fio.h"
-#include "profile.h"
-#include "debug.h"
-#include "flist.h"
-#include "options.h"
-
-static FLIST_HEAD(profile_list);
-
-struct profile_ops *find_profile(const char *profile)
-{
- struct profile_ops *ops = NULL;
- struct flist_head *n;
-
- flist_for_each(n, &profile_list) {
- ops = flist_entry(n, struct profile_ops, list);
- if (!strcmp(profile, ops->name))
- break;
-
- ops = NULL;
- }
-
- return ops;
-}
-
-int load_profile(const char *profile)
-{
- struct profile_ops *ops;
-
- dprint(FD_PROFILE, "loading profile '%s'\n", profile);
-
- ops = find_profile(profile);
- if (ops) {
- 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;
- }
-
- log_err("fio: profile '%s' not found\n", profile);
- return 1;
-}
-
-static int add_profile_options(struct profile_ops *ops)
-{
- struct fio_option *o;
-
- if (!ops->options)
- return 0;
-
- o = ops->options;
- while (o->name) {
- o->prof_name = ops->name;
- o->prof_opts = ops->opt_data;
- if (add_option(o))
- return 1;
- o++;
- }
-
- return 0;
-}
-
-int register_profile(struct profile_ops *ops)
-{
- int ret;
-
- dprint(FD_PROFILE, "register profile '%s'\n", ops->name);
-
- ret = add_profile_options(ops);
- if (!ret) {
- flist_add_tail(&ops->list, &profile_list);
- add_opt_posval("profile", ops->name, ops->desc);
- return 0;
- }
-
- invalidate_profile_options(ops->name);
- return ret;
-}
-
-void unregister_profile(struct profile_ops *ops)
-{
- dprint(FD_PROFILE, "unregister profile '%s'\n", ops->name);
- flist_del(&ops->list);
- invalidate_profile_options(ops->name);
- del_opt_posval("profile", ops->name);
-}
-
-void profile_add_hooks(struct thread_data *td)
-{
- struct profile_ops *ops;
-
- if (!exec_profile)
- return;
-
- ops = find_profile(exec_profile);
- if (!ops)
- return;
-
- if (ops->io_ops) {
- td->prof_io_ops = *ops->io_ops;
- td->flags |= TD_F_PROFILE_OPS;
- }
-}
-
-int profile_td_init(struct thread_data *td)
-{
- struct prof_io_ops *ops = &td->prof_io_ops;
-
- if (ops->td_init)
- return ops->td_init(td);
-
- return 0;
-}
-
-void profile_td_exit(struct thread_data *td)
-{
- struct prof_io_ops *ops = &td->prof_io_ops;
-
- if (ops->td_exit)
- ops->td_exit(td);
-}