10f212204SJens Axboe /* SPDX-License-Identifier: GPL-2.0-or-later */ 20f212204SJens Axboe #ifndef _LINUX_IO_URING_H 30f212204SJens Axboe #define _LINUX_IO_URING_H 40f212204SJens Axboe 50f212204SJens Axboe #include <linux/sched.h> 60f212204SJens Axboe #include <linux/xarray.h> 7a9216facSAnuj Gupta #include <uapi/linux/io_uring.h> 898447d65SJens Axboe 90f212204SJens Axboe #if defined(CONFIG_IO_URING) 10f552a27aSHao Xu void __io_uring_cancel(bool cancel_all); 110f212204SJens Axboe void __io_uring_free(struct task_struct *tsk); 12e7a6c00dSJens Axboe void io_uring_unreg_ringfd(void); 1333337d03SDylan Yudaken const char *io_uring_get_opcode(u8 opcode); 14a4104821SJens Axboe bool io_is_uring_fops(struct file *file); 150f212204SJens Axboe io_uring_files_cancel(void)16f552a27aSHao Xustatic inline void io_uring_files_cancel(void) 170f212204SJens Axboe { 18*12d90811SJann Horn if (current->io_uring) 19f552a27aSHao Xu __io_uring_cancel(false); 203f48cf18SPavel Begunkov } io_uring_task_cancel(void)213f48cf18SPavel Begunkovstatic inline void io_uring_task_cancel(void) 223f48cf18SPavel Begunkov { 23a4aadd11SHao Xu if (current->io_uring) 24f552a27aSHao Xu __io_uring_cancel(true); 250f212204SJens Axboe } io_uring_free(struct task_struct * tsk)260f212204SJens Axboestatic inline void io_uring_free(struct task_struct *tsk) 270f212204SJens Axboe { 280f212204SJens Axboe if (tsk->io_uring) 290f212204SJens Axboe __io_uring_free(tsk); 300f212204SJens Axboe } 310f212204SJens Axboe #else io_uring_task_cancel(void)320f212204SJens Axboestatic inline void io_uring_task_cancel(void) 330f212204SJens Axboe { 340f212204SJens Axboe } io_uring_files_cancel(void)35f552a27aSHao Xustatic inline void io_uring_files_cancel(void) 360f212204SJens Axboe { 370f212204SJens Axboe } io_uring_free(struct task_struct * tsk)380f212204SJens Axboestatic inline void io_uring_free(struct task_struct *tsk) 390f212204SJens Axboe { 400f212204SJens Axboe } io_uring_get_opcode(u8 opcode)4133337d03SDylan Yudakenstatic inline const char *io_uring_get_opcode(u8 opcode) 4233337d03SDylan Yudaken { 4333337d03SDylan Yudaken return ""; 4433337d03SDylan Yudaken } io_is_uring_fops(struct file * file)45a4104821SJens Axboestatic inline bool io_is_uring_fops(struct file *file) 46a4104821SJens Axboe { 47a4104821SJens Axboe return false; 48a4104821SJens Axboe } 490f212204SJens Axboe #endif 500f212204SJens Axboe 510f212204SJens Axboe #endif 52