X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=fio.h;h=f453d92a98d4e088744ac9e06f73382a4c4bea07;hp=199610c7468cc5bdb0e19d7f8e4ffcdceaa4529e;hb=dbf388d2f6a76b37176edc2b1b500f1bb2557ca8;hpb=cba5460c70058e4612f73ded4ac960cbc6ce1a30 diff --git a/fio.h b/fio.h index 199610c7..f453d92a 100644 --- a/fio.h +++ b/fio.h @@ -89,6 +89,7 @@ enum { FIO_RAND_SEQ_RAND_WRITE_OFF, FIO_RAND_SEQ_RAND_TRIM_OFF, FIO_RAND_START_DELAY, + FIO_DEDUPE_OFF, FIO_RAND_NR_OFFS, }; @@ -102,6 +103,7 @@ struct thread_data { char verror[FIO_VERROR_SIZE]; pthread_t thread; unsigned int thread_number; + unsigned int subjob_number; unsigned int groupid; struct thread_stat ts; @@ -176,6 +178,8 @@ struct thread_data { }; struct frand_state buf_state; + struct frand_state buf_state_prev; + struct frand_state dedupe_state; unsigned int verify_batch; unsigned int trim_batch; @@ -399,10 +403,12 @@ extern int nr_clients; extern int log_syslog; extern int status_interval; extern const char fio_version_string[]; +extern int helper_do_stat; +extern pthread_cond_t helper_cond; extern struct thread_data *threads; -static inline void fio_ro_check(struct thread_data *td, struct io_u *io_u) +static inline void fio_ro_check(const struct thread_data *td, struct io_u *io_u) { assert(!(io_u->ddir == DDIR_WRITE && !td_write(td))); } @@ -495,6 +501,7 @@ extern void td_restore_runstate(struct thread_data *, int); #define TERMINATE_ALL (-1) extern void fio_terminate_threads(int); +extern void fio_mark_td_terminate(struct thread_data *); /* * Memory helpers