From 27ad3317fb27b83e181df0901a7b6fe36d664cc5 Mon Sep 17 00:00:00 2001
From: Jens Axboe <axboe@kernel.dk>
Date: Tue, 29 Jan 2019 06:32:13 -0700
Subject: Update kernel io_uring header

- struct io_uring_params changed (u16 -> u32 for sq options)
- Use unsigned for the flag types

Signed-off-by: Jens Axboe <axboe@kernel.dk>
---
 src/io_uring.h | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/src/io_uring.h b/src/io_uring.h
index 3b8d623..b150450 100644
--- a/src/io_uring.h
+++ b/src/io_uring.h
@@ -39,14 +39,14 @@ struct io_uring_sqe {
 /*
  * sqe->flags
  */
-#define IOSQE_FIXED_FILE	(1 << 0)	/* use fixed fileset */
+#define IOSQE_FIXED_FILE	(1U << 0)	/* use fixed fileset */
 
 /*
  * io_uring_setup() flags
  */
-#define IORING_SETUP_IOPOLL	(1 << 0)	/* io_context is polled */
-#define IORING_SETUP_SQPOLL	(1 << 1)	/* SQ poll thread */
-#define IORING_SETUP_SQ_AFF	(1 << 2)	/* sq_thread_cpu is valid */
+#define IORING_SETUP_IOPOLL	(1U << 0)	/* io_context is polled */
+#define IORING_SETUP_SQPOLL	(1U << 1)	/* SQ poll thread */
+#define IORING_SETUP_SQ_AFF	(1U << 2)	/* sq_thread_cpu is valid */
 
 #define IORING_OP_NOP		0
 #define IORING_OP_READV		1
@@ -60,7 +60,7 @@ struct io_uring_sqe {
 /*
  * sqe->fsync_flags
  */
-#define IORING_FSYNC_DATASYNC	(1 << 0)
+#define IORING_FSYNC_DATASYNC	(1U << 0)
 
 /*
  * IO completion data structure (Completion Queue Entry)
@@ -74,7 +74,7 @@ struct io_uring_cqe {
 /*
  * io_uring_event->flags
  */
-#define IOCQE_FLAG_CACHEHIT	(1 << 0)	/* IO did not hit media */
+#define IOCQE_FLAG_CACHEHIT	(1U << 0)	/* IO did not hit media */
 
 /*
  * Magic offsets for the application to mmap the data it needs
@@ -100,7 +100,7 @@ struct io_sqring_offsets {
 /*
  * sq_ring->flags
  */
-#define IORING_SQ_NEED_WAKEUP	(1 << 0) /* needs io_uring_enter wakeup */
+#define IORING_SQ_NEED_WAKEUP	(1U << 0) /* needs io_uring_enter wakeup */
 
 struct io_cqring_offsets {
 	__u32 head;
@@ -115,7 +115,8 @@ struct io_cqring_offsets {
 /*
  * io_uring_enter(2) flags
  */
-#define IORING_ENTER_GETEVENTS	(1 << 0)
+#define IORING_ENTER_GETEVENTS	(1U << 0)
+#define IORING_ENTER_SQ_WAKEUP	(1U << 1)
 
 /*
  * Passed in for io_uring_setup(2). Copied back with updated info on success
@@ -124,8 +125,9 @@ struct io_uring_params {
 	__u32 sq_entries;
 	__u32 cq_entries;
 	__u32 flags;
-	__u16 sq_thread_cpu;
-	__u16 resv[9];
+	__u32 sq_thread_cpu;
+	__u32 sq_thread_idle;
+	__u32 resv[5];
 	struct io_sqring_offsets sq_off;
 	struct io_cqring_offsets cq_off;
 };
-- 
cgit