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 */
};
unsigned long total_run_time;
};
+struct bssplit {
+ unsigned int bs;
+ unsigned char perc;
+};
+
struct thread_options {
int pad;
char *description;
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;
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;
}
#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))
void *dlhandle;
};
-#define FIO_IOOPS_VERSION 7
+#define FIO_IOOPS_VERSION 8
extern struct ioengine_ops *load_ioengine(struct thread_data *, const char *);
extern void register_ioengine(struct ioengine_ops *);
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