Fio 3.15
[fio.git] / io_u.h
diff --git a/io_u.h b/io_u.h
index 9a423b24e5d9c44dc7fa7fbf769dc44baa75b01b..e75993bd863a9f629e136bbcb2cec542377d1a19 100644 (file)
--- a/io_u.h
+++ b/io_u.h
@@ -75,7 +75,7 @@ struct io_u {
 
        struct io_piece *ipo;
 
-       unsigned int resid;
+       unsigned long long resid;
        unsigned int error;
 
        /*
@@ -92,6 +92,23 @@ struct io_u {
                struct workqueue_work work;
        };
 
+#ifdef CONFIG_LINUX_BLKZONED
+       /*
+        * ZBD mode zbd_queue_io callback: called after engine->queue operation
+        * to advance a zone write pointer and eventually unlock the I/O zone.
+        * @q indicates the I/O queue status (busy, queued or completed).
+        * @success == true means that the I/O operation has been queued or
+        * completed successfully.
+        */
+       void (*zbd_queue_io)(struct io_u *, int q, bool success);
+
+       /*
+        * ZBD mode zbd_put_io callback: called in after completion of an I/O
+        * or commit of an async I/O to unlock the I/O target zone.
+        */
+       void (*zbd_put_io)(const struct io_u *);
+#endif
+
        /*
         * Callback for io completion
         */