[PATCH] First cut syslet async io support

Doesn't seem to perform as well as expected, needs investigation.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/fio.h b/fio.h
index b420db5..ff59b46 100644
--- a/fio.h
+++ b/fio.h
@@ -18,6 +18,8 @@
 #include "arch.h"
 #include "os.h"
 
+#include "syslet.h"
+
 enum fio_ddir {
 	DDIR_READ = 0,
 	DDIR_WRITE,
@@ -61,10 +63,18 @@
 	struct list_head list;
 	struct fio_file *file;
 	unsigned long long offset;
-	unsigned int len;
+	unsigned long len;
 	enum fio_ddir ddir;
 };
 
+#ifdef FIO_HAVE_SYSLET
+struct syslet_req {
+	struct syslet_uatom atom;
+	unsigned long cmd;
+	long ret;
+};
+#endif
+
 /*
  * The io unit
  */
@@ -79,6 +89,10 @@
 #ifdef FIO_HAVE_SGIO
 		struct sg_io_hdr hdr;
 #endif
+#ifdef FIO_HAVE_SYSLET
+		struct syslet_req rw_atom;
+		struct syslet_req seek_atom;
+#endif
 	};
 	struct timeval start_time;
 	struct timeval issue_time;
@@ -87,7 +101,7 @@
 	 * Allocated/set buffer and length
 	 */
 	void *buf;
-	unsigned int buflen;
+	unsigned long buflen;
 	unsigned long long offset;
 
 	/*
@@ -95,7 +109,7 @@
 	 * partial transfers / residual data counts
 	 */
 	void *xfer_buf;
-	unsigned int xfer_buflen;
+	unsigned long xfer_buflen;
 
 	unsigned int resid;
 	unsigned int error;
@@ -182,7 +196,7 @@
 	 */
 	union {
 		unsigned long file_data;
-		int fd;
+		long fd;
 	};
 	char *file_name;
 	void *mmap;