X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=fio.c;h=ee6eae24c91acd14fc72884b700fd801fb31246e;hp=52ed944a8b226b1fffe0cf38bc276ab012e42e31;hb=7627557b4795971e0a7565f51415697c71d27c6b;hpb=91acce97f09596cca64371cf3b29ef382b7e2621 diff --git a/fio.c b/fio.c index 52ed944a..ee6eae24 100644 --- a/fio.c +++ b/fio.c @@ -26,28 +26,34 @@ #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" -#include "fio_initialization.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 (parse_options(argc, argv)) - return 1; + goto done; + + fio_time_init(); + + if (nr_clients) { + set_genesis_time(); + + if (fio_start_all_clients()) + goto done; + ret = fio_handle_clients(&fio_client_ops); + } else + ret = fio_backend(); - if (nr_clients) - return fio_handle_clients(&fio_client_ops); - else - return fio_backend(); +done: + deinitialize_fio(); + return ret; }