X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=fio.c;h=44354e289ee873dc52eeffca2385ee76a1d5db85;hp=9a6c31a65d912ba39a44f2cae1ce9ec8378146a6;hb=3d80c73563621286cf21284dd521629ce67af934;hpb=61b29c20eb4b1d374636d5325fb56c0fa9a574ad diff --git a/fio.c b/fio.c index 9a6c31a6..44354e28 100644 --- a/fio.c +++ b/fio.c @@ -26,29 +26,43 @@ #include #include "fio.h" -#include "hash.h" #include "smalloc.h" -#include "verify.h" -#include "trim.h" -#include "diskutil.h" -#include "profile.h" -#include "lib/rand.h" -#include "memalign.h" -#include "client.h" -#include "server.h" int main(int argc, char *argv[], char *envp[]) { + int ret = 1; + if (initialize_fio(envp)) return 1; +#if !defined(CONFIG_GETTIMEOFDAY) && !defined(CONFIG_CLOCK_GETTIME) +#error "No available clock source!" +#endif + + if (fio_server_create_sk_key()) + goto done; + if (parse_options(argc, argv)) - return 1; + goto done; + + /* + * 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()) - return 1; - return fio_handle_clients(&fio_client_ops); + goto done; + ret = fio_handle_clients(&fio_client_ops); } else - return fio_backend(); + ret = fio_backend(NULL); + +done: + deinitialize_fio(); + return ret; }