X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;ds=sidebyside;f=init.c;h=da8007760a5f321f779c2c61e4d8297af6e29ffb;hb=d33c7846cc5f175177e194a5489282780e2a04c4;hp=81c30f8c54819354047800b56992a46d10549c3d;hpb=54833d02a6ac307a894ed4445db9fe25e530b518;p=fio.git diff --git a/init.c b/init.c index 81c30f8c..da800776 100644 --- a/init.c +++ b/init.c @@ -1541,7 +1541,7 @@ static int add_job(struct thread_data *td, const char *jobname, int job_add_num, if (fixup_options(td)) goto err; - if (init_dedupe_working_set_seeds(td)) + if (!td->o.dedupe_global && init_dedupe_working_set_seeds(td, 0)) goto err; /* @@ -2185,6 +2185,10 @@ static int __parse_jobs_ini(struct thread_data *td, i++; } + free(job_sections); + job_sections = NULL; + nr_job_sections = 0; + free(opts); out: free(string); @@ -2806,6 +2810,15 @@ int parse_cmd_line(int argc, char *argv[], int client_type) break; ret = fio_cmd_ioengine_option_parse(td, opt, val); + + if (ret) { + if (td) { + put_job(td); + td = NULL; + } + do_exit++; + exit_val = 1; + } break; } case 'w': @@ -2986,7 +2999,7 @@ int parse_cmd_line(int argc, char *argv[], int client_type) log_err("%s: unrecognized option '%s'\n", argv[0], argv[optind - 1]); show_closest_option(argv[optind - 1]); - fallthrough; + fio_fallthrough; default: do_exit++; exit_val = 1;