Commit | Line | Data |
---|---|---|
0f212204 JA |
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> | |
98447d65 | 7 | |
0f212204 | 8 | #if defined(CONFIG_IO_URING) |
a3ec6005 | 9 | struct sock *io_uring_get_socket(struct file *file); |
f552a27a | 10 | void __io_uring_cancel(bool cancel_all); |
0f212204 | 11 | void __io_uring_free(struct task_struct *tsk); |
e7a6c00d | 12 | void io_uring_unreg_ringfd(void); |
0f212204 | 13 | |
f552a27a | 14 | static inline void io_uring_files_cancel(void) |
0f212204 | 15 | { |
e7a6c00d JA |
16 | if (current->io_uring) { |
17 | io_uring_unreg_ringfd(); | |
f552a27a | 18 | __io_uring_cancel(false); |
e7a6c00d | 19 | } |
0f212204 | 20 | } |
3f48cf18 | 21 | static inline void io_uring_task_cancel(void) |
0f212204 | 22 | { |
a4aadd11 | 23 | if (current->io_uring) |
f552a27a | 24 | __io_uring_cancel(true); |
0f212204 JA |
25 | } |
26 | static inline void io_uring_free(struct task_struct *tsk) | |
27 | { | |
28 | if (tsk->io_uring) | |
29 | __io_uring_free(tsk); | |
30 | } | |
31 | #else | |
a3ec6005 JA |
32 | static inline struct sock *io_uring_get_socket(struct file *file) |
33 | { | |
34 | return NULL; | |
35 | } | |
0f212204 JA |
36 | static inline void io_uring_task_cancel(void) |
37 | { | |
38 | } | |
f552a27a | 39 | static inline void io_uring_files_cancel(void) |
0f212204 JA |
40 | { |
41 | } | |
42 | static inline void io_uring_free(struct task_struct *tsk) | |
43 | { | |
44 | } | |
45 | #endif | |
46 | ||
47 | #endif |