diff options
Diffstat (limited to 'include/linux/io_uring.h')
| -rw-r--r-- | include/linux/io_uring.h | 18 | 
1 files changed, 16 insertions, 2 deletions
diff --git a/include/linux/io_uring.h b/include/linux/io_uring.h index 7fe31b2cd02f..bb9c666bd584 100644 --- a/include/linux/io_uring.h +++ b/include/linux/io_uring.h @@ -46,13 +46,23 @@ int io_uring_cmd_import_fixed(u64 ubuf, unsigned long len, int rw,  			      struct iov_iter *iter, void *ioucmd);  void io_uring_cmd_done(struct io_uring_cmd *cmd, ssize_t ret, ssize_t res2,  			unsigned issue_flags); -void io_uring_cmd_complete_in_task(struct io_uring_cmd *ioucmd, -			void (*task_work_cb)(struct io_uring_cmd *, unsigned));  struct sock *io_uring_get_socket(struct file *file);  void __io_uring_cancel(bool cancel_all);  void __io_uring_free(struct task_struct *tsk);  void io_uring_unreg_ringfd(void);  const char *io_uring_get_opcode(u8 opcode); +void __io_uring_cmd_do_in_task(struct io_uring_cmd *ioucmd, +			    void (*task_work_cb)(struct io_uring_cmd *, unsigned), +			    unsigned flags); +/* users should follow semantics of IOU_F_TWQ_LAZY_WAKE */ +void io_uring_cmd_do_in_task_lazy(struct io_uring_cmd *ioucmd, +			void (*task_work_cb)(struct io_uring_cmd *, unsigned)); + +static inline void io_uring_cmd_complete_in_task(struct io_uring_cmd *ioucmd, +			void (*task_work_cb)(struct io_uring_cmd *, unsigned)) +{ +	__io_uring_cmd_do_in_task(ioucmd, task_work_cb, 0); +}  static inline void io_uring_files_cancel(void)  { @@ -85,6 +95,10 @@ static inline void io_uring_cmd_complete_in_task(struct io_uring_cmd *ioucmd,  			void (*task_work_cb)(struct io_uring_cmd *, unsigned))  {  } +static inline void io_uring_cmd_do_in_task_lazy(struct io_uring_cmd *ioucmd, +			void (*task_work_cb)(struct io_uring_cmd *, unsigned)) +{ +}  static inline struct sock *io_uring_get_socket(struct file *file)  {  	return NULL;  | 
