X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=fio.c;h=7b3a50b6cba12df253bed9517be46cdc950fde2d;hp=ee6eae24c91acd14fc72884b700fd801fb31246e;hb=420b104a3f6ba4328b6b167808f71bb7849102ec;hpb=af1dc26601999b071522562dee7ba6db6bae29ee diff --git a/fio.c b/fio.c index ee6eae24..7b3a50b6 100644 --- a/fio.c +++ b/fio.c @@ -32,6 +32,8 @@ int main(int argc, char *argv[], char *envp[]) { int ret = 1; + compiletime_assert(TD_NR <= TD_ENG_FLAG_SHIFT, "TD_ENG_FLAG_SHIFT"); + if (initialize_fio(envp)) return 1; @@ -39,20 +41,31 @@ int main(int argc, char *argv[], char *envp[]) #error "No available clock source!" #endif - if (parse_options(argc, argv)) + if (fio_server_create_sk_key()) goto done; + if (parse_options(argc, argv)) + goto done_key; + + /* + * line buffer stdout to avoid output lines from multiple + * threads getting mixed + */ + setvbuf(stdout, NULL, _IOLBF, 0); + fio_time_init(); if (nr_clients) { set_genesis_time(); if (fio_start_all_clients()) - goto done; + goto done_key; ret = fio_handle_clients(&fio_client_ops); } else - ret = fio_backend(); + ret = fio_backend(NULL); +done_key: + fio_server_destroy_sk_key(); done: deinitialize_fio(); return ret;