X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=fio.h;h=4d4af0a7917f12b5b666ca38ea06a038659dc3b3;hp=52f1def7a28d20cdb4bc767f4a5ac7197efd0514;hb=3c865f32245c57635c59bc4e06f0e615d29aecbe;hpb=8edd973d57a311d4c590d7385796bbdf111ed04c diff --git a/fio.h b/fio.h index 52f1def7..4d4af0a7 100644 --- a/fio.h +++ b/fio.h @@ -30,7 +30,7 @@ #include "helpers.h" #include "options.h" #include "profile.h" -#include "time.h" +#include "fio_time.h" #include "gettime.h" #include "lib/getopt.h" #include "lib/rand.h" @@ -71,6 +71,8 @@ enum { TD_F_SCRAMBLE_BUFFERS = 16, TD_F_VER_NONE = 32, TD_F_PROFILE_OPS = 64, + TD_F_COMPRESS = 128, + TD_F_NOIO = 256, }; enum { @@ -349,7 +351,7 @@ enum { #define __td_verror(td, err, msg, func) \ do { \ - int ____e = (err); \ + unsigned int ____e = (err); \ if ((td)->error) \ break; \ (td)->error = ____e; \ @@ -438,6 +440,8 @@ extern void add_job_opts(const char **, int); extern char *num2str(unsigned long, int, int, int, int); extern int ioengine_load(struct thread_data *); extern int parse_dryrun(void); +extern int fio_running_or_pending_io_threads(void); +extern int fio_set_fd_nonblocking(int, const char *); extern uintptr_t page_mask; extern uintptr_t page_size; @@ -470,6 +474,7 @@ enum { TD_PRE_READING, TD_VERIFYING, TD_FSYNCING, + TD_FINISHING, TD_EXITED, TD_REAPED, }; @@ -583,7 +588,7 @@ static inline unsigned int td_min_bs(struct thread_data *td) return min(td->o.min_bs[DDIR_TRIM], min_bs); } -static inline int is_power_of_2(unsigned int val) +static inline int is_power_of_2(unsigned long val) { return (val != 0 && ((val & (val - 1)) == 0)); } @@ -613,7 +618,9 @@ static inline void td_io_u_free_notify(struct thread_data *td) extern const char *fio_get_arch_string(int); extern const char *fio_get_os_string(int); +#ifdef FIO_INTERNAL #define ARRAY_SIZE(x) (sizeof((x)) / (sizeof((x)[0]))) +#endif enum { FIO_OUTPUT_TERSE = 0,