X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=fio.h;h=30fbde06d46e69e42d9baae846531938207c2c9b;hp=ddc29dbdb038cc40673b2164c3ff0c7a744750f7;hb=23a8e176c3725f3640eaaf31a0a4c7497366c40f;hpb=66e19a387c9d9ae79d7ae34376c6d421c4afe1be diff --git a/fio.h b/fio.h index ddc29dbd..30fbde06 100644 --- a/fio.h +++ b/fio.h @@ -32,7 +32,7 @@ #include "profile.h" #include "fio_time.h" #include "gettime.h" -#include "lib/getopt.h" +#include "oslib/getopt.h" #include "lib/rand.h" #include "lib/rbtree.h" #include "client.h" @@ -96,6 +96,7 @@ enum { FIO_RAND_START_DELAY, FIO_DEDUPE_OFF, FIO_RAND_POISSON_OFF, + FIO_RAND_ZONE_OFF, FIO_RAND_NR_OFFS, }; @@ -115,6 +116,11 @@ struct sk_out; void sk_out_assign(struct sk_out *); void sk_out_drop(void); +struct zone_split_index { + uint8_t size_perc; + uint8_t size_perc_prev; +}; + /* * This describes a single thread/process executing a fio job. */ @@ -200,6 +206,9 @@ struct thread_data { struct frand_state buf_state; struct frand_state buf_state_prev; struct frand_state dedupe_state; + struct frand_state zone_state; + + struct zone_split_index **zone_state_index; unsigned int verify_batch; unsigned int trim_batch; @@ -542,6 +551,7 @@ enum { extern void td_set_runstate(struct thread_data *, int); extern int td_bump_runstate(struct thread_data *, int); extern void td_restore_runstate(struct thread_data *, int); +extern const char *runstate_to_name(int runstate); /* * Allow 60 seconds for a job to quit on its own, otherwise reap with @@ -711,6 +721,7 @@ enum { FIO_RAND_DIST_ZIPF, FIO_RAND_DIST_PARETO, FIO_RAND_DIST_GAUSS, + FIO_RAND_DIST_ZONED, }; #define FIO_DEF_ZIPF 1.1