summaryrefslogtreecommitdiff
path: root/src/io_uring.h
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2019-01-09 15:26:20 -0700
committerJens Axboe <axboe@kernel.dk>2019-01-09 15:26:20 -0700
commit7bf7e8e8e5cf1fe46194c6faf58e94cee815ac6a (patch)
tree648474e57bbee8f992a87a1c3f8e756747203808 /src/io_uring.h
parent66a7d05bd82b362942c4f540754b94723c74e804 (diff)
Update to newer API
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'src/io_uring.h')
-rw-r--r--src/io_uring.h27
1 files changed, 13 insertions, 14 deletions
diff --git a/src/io_uring.h b/src/io_uring.h
index 7dd2112..20e4c22 100644
--- a/src/io_uring.h
+++ b/src/io_uring.h
@@ -12,9 +12,9 @@
#include <linux/types.h>
/*
- * IO submission data structure
+ * IO submission data structure (Submission Queue Entry)
*/
-struct io_uring_iocb {
+struct io_uring_sqe {
__u8 opcode;
__u8 flags;
__u16 ioprio;
@@ -35,23 +35,22 @@ struct io_uring_iocb {
* io_uring_setup() flags
*/
#define IORING_SETUP_IOPOLL (1 << 0) /* io_context is polled */
-#define IORING_SETUP_FIXEDBUFS (1 << 1) /* IO buffers are fixed */
-#define IORING_SETUP_SQTHREAD (1 << 2) /* Use SQ thread */
-#define IORING_SETUP_SQWQ (1 << 3) /* Use SQ workqueue */
-#define IORING_SETUP_SQPOLL (1 << 4) /* SQ thread polls */
+#define IORING_SETUP_SQTHREAD (1 << 1) /* Use SQ thread */
+#define IORING_SETUP_SQWQ (1 << 2) /* Use SQ workqueue */
+#define IORING_SETUP_SQPOLL (1 << 3) /* SQ thread polls */
-#define IORING_OP_READ 1
-#define IORING_OP_WRITE 2
+#define IORING_OP_READV 1
+#define IORING_OP_WRITEV 2
#define IORING_OP_FSYNC 3
#define IORING_OP_FDSYNC 4
#define IORING_OP_READ_FIXED 5
#define IORING_OP_WRITE_FIXED 6
/*
- * IO completion data structure
+ * IO completion data structure (Completion Queue Entry)
*/
-struct io_uring_event {
- __u64 index; /* what iocb this event came from */
+struct io_uring_cqe {
+ __u64 index; /* what sqe this event came from */
__s32 res; /* result code for this event */
__u32 flags;
};
@@ -59,14 +58,14 @@ struct io_uring_event {
/*
* io_uring_event->flags
*/
-#define IOEV_FLAG_CACHEHIT (1 << 0) /* IO did not hit media */
+#define IOCQE_FLAG_CACHEHIT (1 << 0) /* IO did not hit media */
/*
* Magic offsets for the application to mmap the data it needs
*/
#define IORING_OFF_SQ_RING 0ULL
#define IORING_OFF_CQ_RING 0x8000000ULL
-#define IORING_OFF_IOCB 0x10000000ULL
+#define IORING_OFF_SQES 0x10000000ULL
/*
* Filled with the offset for mmap(2)
@@ -90,7 +89,7 @@ struct io_cqring_offsets {
__u32 ring_mask;
__u32 ring_entries;
__u32 overflow;
- __u32 events;
+ __u32 cqes;
__u32 resv[4];
};