Don't do rate checks, if no ratemin has been specified.
[fio.git] / fio.h
diff --git a/fio.h b/fio.h
index 6abbd79e2dfd7e737f57ffdfca83a5c2e9b9bf8b..6d0c9e31f36164db8062bfa6d2a2ab74ab1e65ce 100644 (file)
--- a/fio.h
+++ b/fio.h
@@ -81,8 +81,9 @@ struct io_piece {
 
 #ifdef FIO_HAVE_SYSLET
 struct syslet_req {
-       struct syslet_uatom atom;
-       long ret;
+       struct syslet_uatom atom;       /* the atom to submit */
+       struct syslet_uatom *head;      /* head of the sequence */
+       long ret;                       /* syscall return value */
 };
 #endif
 
@@ -144,6 +145,11 @@ struct io_u {
        struct fio_file *file;
 
        struct list_head list;
+
+       /*
+        * Callback for io completion
+        */
+       int (*end_io)(struct io_u *);
 };
 
 /*
@@ -345,6 +351,7 @@ struct thread_data {
        unsigned int numjobs;
        unsigned int iodepth;
        unsigned int iodepth_low;
+       unsigned int iodepth_batch;
        os_cpu_mask_t cpumask;
        unsigned int iolog;
        unsigned int read_iolog;
@@ -383,6 +390,7 @@ struct thread_data {
        struct list_head io_u_freelist;
        struct list_head io_u_busylist;
        struct list_head io_u_requeues;
+       unsigned int io_u_queued;
 
        /*
         * Rate state
@@ -544,11 +552,6 @@ struct disk_util {
        struct timeval time;
 };
 
-/*
- * Callback for io completion
- */
-typedef int (endio_handler)(struct io_u *);
-
 #define DISK_UTIL_MSEC (250)
 
 #ifndef min
@@ -663,8 +666,8 @@ 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 *);
 extern void requeue_io_u(struct thread_data *, struct io_u **);
-extern long __must_check io_u_sync_complete(struct thread_data *, struct io_u *, endio_handler *);
-extern long __must_check io_u_queued_complete(struct thread_data *, int, endio_handler *);
+extern long __must_check io_u_sync_complete(struct thread_data *, struct io_u *);
+extern long __must_check io_u_queued_complete(struct thread_data *, int);
 extern void io_u_queued(struct thread_data *, struct io_u *);
 extern void io_u_init_timeout(void);
 extern void io_u_set_timeout(struct thread_data *);