Add support for simple profile benchmarks
[fio.git] / options.c
index 4544378eb16e6a0aa187eb7f303c1f63457f4ec7..ff277657ea0264f2394984578ab52a629170c940 100644 (file)
--- a/options.c
+++ b/options.c
@@ -1714,6 +1714,18 @@ static struct fio_option options[] = {
                .help   = "Continue on non-fatal errors during I/O",
                .def    = "0",
        },
+       {
+               .name   = "profile",
+               .type   = FIO_OPT_STR,
+               .off1   = td_var_offset(profile),
+               .posval = {
+                         { .ival = "tiobench",
+                           .oval = PROFILE_TIOBENCH,
+                           .help = "Perform tiobench like test",
+                         },
+               },
+               .help   = "Select a specific builtin performance test",
+       },
        {
                .name = NULL,
        },
@@ -1811,6 +1823,7 @@ static char *bc_calc(char *str)
                return str;
 
        tmp++;
+       memset(opt, 0, sizeof(opt));
        strncpy(opt, str, tmp - str);
 
        buf = malloc(128);
@@ -1879,7 +1892,7 @@ static char *fio_keyword_replace(char *opt)
                         * replace opt and free the old opt
                         */
                        opt = new;
-                       free(o_org);
+                       //free(o_org);
 
                        /*
                         * Check for potential math and invoke bc, if possible