hulk inclusion category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/ICJPON -------------------------------- After separating the io_uring cmd API into an independent header file, the inclusion order of header files changes, which causes the KABI expansion calculation results to change. Fix it by adjusting the header file inclusion order. Fixes: b66509b8497f ("io_uring: split out cmd api into a separate header") Signed-off-by: Long Li <leo.lilong@huawei.com> --- include/linux/io_uring.h | 1 + include/linux/io_uring/cmd.h | 32 +++++++++++++++++++++++++++++++- include/linux/io_uring_types.h | 31 ------------------------------- 3 files changed, 32 insertions(+), 32 deletions(-) diff --git a/include/linux/io_uring.h b/include/linux/io_uring.h index d4264bea0e64..ecb35087411c 100644 --- a/include/linux/io_uring.h +++ b/include/linux/io_uring.h @@ -5,6 +5,7 @@ #include <linux/sched.h> #include <linux/xarray.h> #include <uapi/linux/io_uring.h> +#include <linux/io_uring/cmd.h> #if defined(CONFIG_IO_URING) void __io_uring_cancel(bool cancel_all); diff --git a/include/linux/io_uring/cmd.h b/include/linux/io_uring/cmd.h index 02e19c621029..cdcda6486534 100644 --- a/include/linux/io_uring/cmd.h +++ b/include/linux/io_uring/cmd.h @@ -3,12 +3,42 @@ #define _LINUX_IO_URING_CMD_H #include <uapi/linux/io_uring.h> -#include <linux/io_uring_types.h> /* only top 8 bits of sqe->uring_cmd_flags for kernel internal use */ #define IORING_URING_CMD_CANCELABLE (1U << 30) #define IORING_URING_CMD_POLLED (1U << 31) +enum { + /* + * A hint to not wake right away but delay until there are enough of + * tw's queued to match the number of CQEs the task is waiting for. + * + * Must not be used wirh requests generating more than one CQE. + * It's also ignored unless IORING_SETUP_DEFER_TASKRUN is set. + */ + IOU_F_TWQ_LAZY_WAKE = 1, +}; + +enum io_uring_cmd_flags { + IO_URING_F_COMPLETE_DEFER = 1, + IO_URING_F_UNLOCKED = 2, + /* the request is executed from poll, it should not be freed */ + IO_URING_F_MULTISHOT = 4, + /* executed by io-wq */ + IO_URING_F_IOWQ = 8, + /* int's last bit, sign checks are usually faster than a bit test */ + IO_URING_F_NONBLOCK = INT_MIN, + + /* ctx state flags, for URING_CMD */ + IO_URING_F_SQE128 = (1 << 8), + IO_URING_F_CQE32 = (1 << 9), + IO_URING_F_IOPOLL = (1 << 10), + + /* set when uring wants to cancel a previously issued command */ + IO_URING_F_CANCEL = (1 << 11), + IO_URING_F_TASK_DEAD = (1 << 13), +}; + struct io_uring_cmd { struct file *file; const struct io_uring_sqe *sqe; diff --git a/include/linux/io_uring_types.h b/include/linux/io_uring_types.h index 55d6d1de40d7..0faea7bac10b 100644 --- a/include/linux/io_uring_types.h +++ b/include/linux/io_uring_types.h @@ -7,37 +7,6 @@ #include <linux/llist.h> #include <uapi/linux/io_uring.h> -enum { - /* - * A hint to not wake right away but delay until there are enough of - * tw's queued to match the number of CQEs the task is waiting for. - * - * Must not be used wirh requests generating more than one CQE. - * It's also ignored unless IORING_SETUP_DEFER_TASKRUN is set. - */ - IOU_F_TWQ_LAZY_WAKE = 1, -}; - -enum io_uring_cmd_flags { - IO_URING_F_COMPLETE_DEFER = 1, - IO_URING_F_UNLOCKED = 2, - /* the request is executed from poll, it should not be freed */ - IO_URING_F_MULTISHOT = 4, - /* executed by io-wq */ - IO_URING_F_IOWQ = 8, - /* int's last bit, sign checks are usually faster than a bit test */ - IO_URING_F_NONBLOCK = INT_MIN, - - /* ctx state flags, for URING_CMD */ - IO_URING_F_SQE128 = (1 << 8), - IO_URING_F_CQE32 = (1 << 9), - IO_URING_F_IOPOLL = (1 << 10), - - /* set when uring wants to cancel a previously issued command */ - IO_URING_F_CANCEL = (1 << 11), - IO_URING_F_TASK_DEAD = (1 << 13), -}; - struct io_wq_work_node { struct io_wq_work_node *next; }; -- 2.39.2