diff options
Diffstat (limited to 'include/linux/io_uring.h')
-rw-r--r-- | include/linux/io_uring.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/include/linux/io_uring.h b/include/linux/io_uring.h new file mode 100644 index 000000000..649a4d7c2 --- /dev/null +++ b/include/linux/io_uring.h @@ -0,0 +1,44 @@ +/* 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> + +#if defined(CONFIG_IO_URING) +struct sock *io_uring_get_socket(struct file *file); +void __io_uring_cancel(bool cancel_all); +void __io_uring_free(struct task_struct *tsk); + +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 struct sock *io_uring_get_socket(struct file *file) +{ + return NULL; +} +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) +{ +} +#endif + +#endif |