Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: GPL-2.0-or-later */
2#ifndef _LINUX_IO_URING_H
3#define _LINUX_IO_URING_H
4
5#include <linux/sched.h>
6#include <linux/xarray.h>
7#include <uapi/linux/io_uring.h>
8
9#if defined(CONFIG_IO_URING)
10void __io_uring_cancel(bool cancel_all);
11void __io_uring_free(struct task_struct *tsk);
12void io_uring_unreg_ringfd(void);
13const char *io_uring_get_opcode(u8 opcode);
14bool io_is_uring_fops(struct file *file);
15
16static inline void io_uring_files_cancel(void)
17{
18 if (current->io_uring) {
19 io_uring_unreg_ringfd();
20 __io_uring_cancel(false);
21 }
22}
23static inline void io_uring_task_cancel(void)
24{
25 if (current->io_uring)
26 __io_uring_cancel(true);
27}
28static inline void io_uring_free(struct task_struct *tsk)
29{
30 if (tsk->io_uring)
31 __io_uring_free(tsk);
32}
33#else
34static inline void io_uring_task_cancel(void)
35{
36}
37static inline void io_uring_files_cancel(void)
38{
39}
40static inline void io_uring_free(struct task_struct *tsk)
41{
42}
43static inline const char *io_uring_get_opcode(u8 opcode)
44{
45 return "";
46}
47static inline bool io_is_uring_fops(struct file *file)
48{
49 return false;
50}
51#endif
52
53#endif