X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=libfio.c;h=d4cad3ec5aba0a5b4d9d926bc3675e27acc5471a;hp=1abf39a84edff09b4cdf571361c6356d7706641f;hb=830814d41dc8b8b9757eb2a6cf7ed7be7128d1f2;hpb=3d0ebb30e8f97934603aaf22e82b1cc8bb790765 diff --git a/libfio.c b/libfio.c index 1abf39a8..d4cad3ec 100644 --- a/libfio.c +++ b/libfio.c @@ -58,6 +58,7 @@ static const char *fio_os_strings[os_nr] = { "Solaris", "Windows", "Android", + "DragonFly", }; static const char *fio_arch_strings[arch_nr] = { @@ -87,6 +88,9 @@ static void reset_io_counters(struct thread_data *td) td->this_io_blocks[ddir] = 0; td->rate_bytes[ddir] = 0; td->rate_blocks[ddir] = 0; + td->bytes_done[ddir] = 0; + td->rate_io_issue_bytes[ddir] = 0; + td->rate_next_io_time[ddir] = 0; } td->zone_bytes = 0; @@ -114,9 +118,10 @@ void clear_io_state(struct thread_data *td) } /* - * Set the same seed to get repeatable runs + * Re-Seed random number generator if rand_repeatable is true */ - td_fill_rand_seeds(td); + if (td->o.rand_repeatable) + td_fill_rand_seeds(td); } void reset_all_stats(struct thread_data *td) @@ -166,13 +171,38 @@ const char *fio_get_arch_string(int nr) return NULL; } +static const char *td_runstates[] = { + "NOT_CREATED", + "CREATED", + "INITIALIZED", + "RAMP", + "SETTING_UP", + "RUNNING", + "PRE_READING", + "VERIFYING", + "FSYNCING", + "FINISHING", + "EXITED", + "REAPED", +}; + +static const char *runstate_to_name(int runstate) +{ + compiletime_assert(TD_LAST == 12, "td runstate list"); + if (runstate >= 0 && runstate < TD_LAST) + return td_runstates[runstate]; + + return "invalid"; +} + void td_set_runstate(struct thread_data *td, int runstate) { if (td->runstate == runstate) return; - dprint(FD_PROCESS, "pid=%d: runstate %d -> %d\n", (int) td->pid, - td->runstate, runstate); + dprint(FD_PROCESS, "pid=%d: runstate %s -> %s\n", (int) td->pid, + runstate_to_name(td->runstate), + runstate_to_name(runstate)); td->runstate = runstate; } @@ -351,3 +381,8 @@ int initialize_fio(char *envp[]) fio_keywords_init(); return 0; } + +void deinitialize_fio(void) +{ + fio_keywords_exit(); +}