parse: get rid of raw option offsets
[fio.git] / ioengine.h
index 31662ebeb5eea6af9012d921a9ce368cb0551a8e..19ed10bf7a5401dd13fafe5cef97cb2d32748bd0 100644 (file)
@@ -15,7 +15,7 @@
 #include <guasi.h>
 #endif
 
-#define FIO_IOOPS_VERSION      16
+#define FIO_IOOPS_VERSION      17
 
 enum {
        IO_U_F_FREE             = 1 << 0,
@@ -50,12 +50,13 @@ struct io_u {
         */
        unsigned long buflen;
        unsigned long long offset;
+       unsigned short numberio;
        void *buf;
 
        /*
         * Initial seed for generating the buffer contents
         */
-       unsigned long rand_seed;
+       uint64_t rand_seed;
 
        /*
         * IO engine state, may be different from above when we get
@@ -70,6 +71,8 @@ struct io_u {
         */
        unsigned long buf_filled_len;
 
+       struct io_piece *ipo;
+
        union {
 #ifdef CONFIG_LIBAIO
                struct iocb iocb;
@@ -188,7 +191,6 @@ extern int fio_show_ioengine_help(const char *engine);
 /*
  * io unit handling
  */
-#define queue_full(td) io_u_qempty(&(td)->io_u_freelist)
 extern struct io_u *__get_io_u(struct thread_data *);
 extern struct io_u *get_io_u(struct thread_data *);
 extern void put_io_u(struct thread_data *, struct io_u *);
@@ -204,6 +206,7 @@ extern void fill_io_buffer(struct thread_data *, void *, unsigned int, unsigned
 extern void io_u_fill_buffer(struct thread_data *td, struct io_u *, unsigned int, unsigned int);
 void io_u_mark_complete(struct thread_data *, unsigned int);
 void io_u_mark_submit(struct thread_data *, unsigned int);
+int queue_full(struct thread_data *);
 
 int do_io_u_sync(struct thread_data *, struct io_u *);
 int do_io_u_trim(struct thread_data *, struct io_u *);