X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=fio.h;h=2daeb2a63067ab4d85df59c9228cf4ae3ec2584e;hb=ee56ad500f6692381e131cc37299d23fa910a24a;hp=ca9fede63f66962f8d3ea4e171e8991c97ee57ea;hpb=1e20499263c57a7382b8130f5c2720b80e0b8653;p=fio.git diff --git a/fio.h b/fio.h index ca9fede6..2daeb2a6 100644 --- a/fio.h +++ b/fio.h @@ -184,7 +184,6 @@ enum { VERIFY_SHA256, /* sha256 sum data blocks */ VERIFY_SHA512, /* sha512 sum data blocks */ VERIFY_META, /* block_num, timestamp etc. */ - VERIFY_PATTERN, /* verify a specific pattern */ VERIFY_NULL, /* pretend to verify */ }; @@ -373,6 +372,11 @@ struct thread_stat { unsigned long total_run_time; }; +struct bssplit { + unsigned int bs; + unsigned char perc; +}; + struct thread_options { int pad; char *description; @@ -388,6 +392,7 @@ struct thread_options { unsigned int iodepth_batch; unsigned long long size; + unsigned int fill_device; unsigned long long file_size_low; unsigned long long file_size_high; unsigned long long start_offset; @@ -395,6 +400,8 @@ struct thread_options { unsigned int bs[2]; unsigned int min_bs[2]; unsigned int max_bs[2]; + struct bssplit *bssplit; + unsigned int bssplit_nr; unsigned int nr_files; unsigned int open_files; @@ -674,7 +681,7 @@ static inline void fio_ro_check(struct thread_data *td, struct io_u *io_u) } #define BLOCKS_PER_MAP (8 * sizeof(long)) -#define TO_MAP_BLOCK(td, f, b) ((b) - ((f)->file_offset / (td)->o.rw_min_bs)) +#define TO_MAP_BLOCK(td, f, b) ((b) - ((f)->file_offset / (unsigned long long) (td)->o.rw_min_bs)) #define RAND_MAP_IDX(td, f, b) (TO_MAP_BLOCK(td, f, b) / BLOCKS_PER_MAP) #define RAND_MAP_BIT(td, f, b) (TO_MAP_BLOCK(td, f, b) & (BLOCKS_PER_MAP - 1)) @@ -965,4 +972,19 @@ static inline void clear_error(struct thread_data *td) td->verror[0] = '\0'; } +enum { + FD_PROCESS = 1 << 0, + FD_FILE = 1 << 1, + FD_IO = 1 << 2, + FD_MEM = 1 << 3, +}; + +extern unsigned long fio_debug; +#define dprint(type, str, args...) \ + do { \ + if (((type) & fio_debug) == 0) \ + break; \ + printf(str, ##args); \ + } while (0) + #endif