Ensure that command line options also end up in json output
[fio.git] / options.c
index caa00af8f5e1dcf9c74c24ef8c1a4b1ea344e5d8..33cc6fe6c47a69fd21f786e7d1e904f5acd1c25b 100644 (file)
--- a/options.c
+++ b/options.c
@@ -4081,20 +4081,16 @@ static void show_closest_option(const char *opt)
 
 int fio_options_parse(struct thread_data *td, char **opts, int num_opts)
 {
-       struct flist_head *opt_list = NULL;
        int i, ret, unknown;
        char **opts_copy;
 
-       if (!is_def_thread(td))
-               opt_list = &td->opt_list;
-
        sort_options(opts, fio_options, num_opts);
        opts_copy = dup_and_sub_options(opts, num_opts);
 
        for (ret = 0, i = 0, unknown = 0; i < num_opts; i++) {
                struct fio_option *o;
                int newret = parse_option(opts_copy[i], opts[i], fio_options,
-                                               &o, td, opt_list);
+                                               &o, td, &td->opt_list);
 
                if (!newret && o)
                        fio_option_mark_set(&td->o, o);
@@ -4127,7 +4123,7 @@ int fio_options_parse(struct thread_data *td, char **opts, int num_opts)
                        if (td->eo)
                                newret = parse_option(opts_copy[i], opts[i],
                                                      td->io_ops->options, &o,
-                                                     td->eo, opt_list);
+                                                     td->eo, &td->opt_list);
 
                        ret |= newret;
                        if (!o) {
@@ -4147,7 +4143,7 @@ int fio_cmd_option_parse(struct thread_data *td, const char *opt, char *val)
 {
        int ret;
 
-       ret = parse_cmd_option(opt, val, fio_options, td);
+       ret = parse_cmd_option(opt, val, fio_options, td, &td->opt_list);
        if (!ret) {
                struct fio_option *o;
 
@@ -4162,7 +4158,8 @@ int fio_cmd_option_parse(struct thread_data *td, const char *opt, char *val)
 int fio_cmd_ioengine_option_parse(struct thread_data *td, const char *opt,
                                char *val)
 {
-       return parse_cmd_option(opt, val, td->io_ops->options, td->eo);
+       return parse_cmd_option(opt, val, td->io_ops->options, td->eo,
+                                       &td->opt_list);
 }
 
 void fio_fill_default_options(struct thread_data *td)