+enum {
+ __TD_F_VER_BACKLOG = 0,
+ __TD_F_TRIM_BACKLOG,
+ __TD_F_READ_IOLOG,
+ __TD_F_REFILL_BUFFERS,
+ __TD_F_SCRAMBLE_BUFFERS,
+ __TD_F_DO_VERIFY,
+ __TD_F_PROFILE_OPS,
+ __TD_F_COMPRESS,
+ __TD_F_COMPRESS_LOG,
+ __TD_F_VSTATE_SAVED,
+ __TD_F_NEED_LOCK,
+ __TD_F_CHILD,
+ __TD_F_NO_PROGRESS,
+ __TD_F_REGROW_LOGS,
+ __TD_F_MMAP_KEEP,
+ __TD_F_DIRS_CREATED,
+ __TD_F_CHECK_RATE,
+ __TD_F_LAST, /* not a real bit, keep last */
+};
+
+enum {
+ TD_F_VER_BACKLOG = 1U << __TD_F_VER_BACKLOG,
+ TD_F_TRIM_BACKLOG = 1U << __TD_F_TRIM_BACKLOG,
+ TD_F_READ_IOLOG = 1U << __TD_F_READ_IOLOG,
+ TD_F_REFILL_BUFFERS = 1U << __TD_F_REFILL_BUFFERS,
+ TD_F_SCRAMBLE_BUFFERS = 1U << __TD_F_SCRAMBLE_BUFFERS,
+ TD_F_DO_VERIFY = 1U << __TD_F_DO_VERIFY,
+ TD_F_PROFILE_OPS = 1U << __TD_F_PROFILE_OPS,
+ TD_F_COMPRESS = 1U << __TD_F_COMPRESS,
+ TD_F_COMPRESS_LOG = 1U << __TD_F_COMPRESS_LOG,
+ TD_F_VSTATE_SAVED = 1U << __TD_F_VSTATE_SAVED,
+ TD_F_NEED_LOCK = 1U << __TD_F_NEED_LOCK,
+ TD_F_CHILD = 1U << __TD_F_CHILD,
+ TD_F_NO_PROGRESS = 1U << __TD_F_NO_PROGRESS,
+ TD_F_REGROW_LOGS = 1U << __TD_F_REGROW_LOGS,
+ TD_F_MMAP_KEEP = 1U << __TD_F_MMAP_KEEP,
+ TD_F_DIRS_CREATED = 1U << __TD_F_DIRS_CREATED,
+ TD_F_CHECK_RATE = 1U << __TD_F_CHECK_RATE,
+};
+
+enum {
+ FIO_RAND_BS_OFF = 0,
+ FIO_RAND_BS1_OFF,
+ FIO_RAND_BS2_OFF,
+ FIO_RAND_VER_OFF,
+ FIO_RAND_MIX_OFF,
+ FIO_RAND_FILE_OFF,
+ FIO_RAND_BLOCK_OFF,
+ FIO_RAND_FILE_SIZE_OFF,
+ FIO_RAND_TRIM_OFF,
+ FIO_RAND_BUF_OFF,
+ FIO_RAND_SEQ_RAND_READ_OFF,
+ FIO_RAND_SEQ_RAND_WRITE_OFF,
+ FIO_RAND_SEQ_RAND_TRIM_OFF,
+ FIO_RAND_START_DELAY,
+ FIO_DEDUPE_OFF,
+ FIO_RAND_POISSON_OFF,
+ FIO_RAND_ZONE_OFF,
+ FIO_RAND_POISSON2_OFF,
+ FIO_RAND_POISSON3_OFF,
+ FIO_RAND_NR_OFFS,
+};
+
+enum {
+ IO_MODE_INLINE = 0,
+ IO_MODE_OFFLOAD = 1,
+
+ RATE_PROCESS_LINEAR = 0,
+ RATE_PROCESS_POISSON = 1,
+};
+
+enum {
+ F_ADV_NONE = 0,
+ F_ADV_TYPE,
+ F_ADV_RANDOM,
+ F_ADV_SEQUENTIAL,
+};
+
+/*
+ * Per-thread/process specific data. Only used for the network client
+ * for now.
+ */
+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;
+ uint64_t size;
+ uint64_t size_prev;
+};
+
+#define FIO_MAX_OPEN_ZBD_ZONES 128
+