diff options
Diffstat (limited to 'include/linux/io_uring.h')
-rw-r--r-- | include/linux/io_uring.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/include/linux/io_uring.h b/include/linux/io_uring.h new file mode 100644 index 000000000000..85fe4e6b275c --- /dev/null +++ b/include/linux/io_uring.h @@ -0,0 +1,51 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +#ifndef _LINUX_IO_URING_H +#define _LINUX_IO_URING_H + +#include <linux/sched.h> +#include <linux/xarray.h> +#include <uapi/linux/io_uring.h> + +#if defined(CONFIG_IO_URING) +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); +bool io_is_uring_fops(struct file *file); + +static inline void io_uring_files_cancel(void) +{ + if (current->io_uring) + __io_uring_cancel(false); +} +static inline void io_uring_task_cancel(void) +{ + if (current->io_uring) + __io_uring_cancel(true); +} +static inline void io_uring_free(struct task_struct *tsk) +{ + if (tsk->io_uring) + __io_uring_free(tsk); +} +#else +static inline void io_uring_task_cancel(void) +{ +} +static inline void io_uring_files_cancel(void) +{ +} +static inline void io_uring_free(struct task_struct *tsk) +{ +} +static inline const char *io_uring_get_opcode(u8 opcode) +{ + return ""; +} +static inline bool io_is_uring_fops(struct file *file) +{ + return false; +} +#endif + +#endif |