Fully parallellize io_u verification
[fio.git] / fio.h
diff --git a/fio.h b/fio.h
index b087f97285f0a7b7682538cc1d76c34846a3cc1e..e5e754a903a0a50cb7c80e6dd7717d7591c89e35 100644 (file)
--- a/fio.h
+++ b/fio.h
@@ -494,8 +494,10 @@ struct disk_util {
 /*
  * Used for passing io_u completion data
  */
+typedef int (icd_handler)(struct io_u *);
 struct io_completion_data {
        int nr;                         /* input */
+       icd_handler *handler;           /* input */
 
        int error;                      /* output */
        unsigned long bytes_done[2];    /* output */
@@ -597,7 +599,7 @@ enum {
  */
 extern void populate_verify_io_u(struct thread_data *, struct io_u *);
 extern int get_next_verify(struct thread_data *td, struct io_u *);
-extern int do_io_u_verify(struct thread_data *, struct io_u **);
+extern int verify_io_u(struct io_u *);
 
 /*
  * Memory helpers
@@ -616,7 +618,7 @@ extern struct io_u *get_io_u(struct thread_data *, struct fio_file *);
 extern void put_io_u(struct thread_data *, struct io_u *);
 extern void ios_completed(struct thread_data *, struct io_completion_data *);
 extern void io_completed(struct thread_data *, struct io_u *, struct io_completion_data *);
-extern void init_icd(struct io_completion_data *);
+extern void init_icd(struct io_completion_data *, icd_handler *, int);
 
 /*
  * io engine entry points