Merge tag 'kbuild-fixes-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/masah...
[linux-block.git] / include / linux / io_uring.h
CommitLineData
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>
a9216fac 7#include <uapi/linux/io_uring.h>
98447d65 8
0f212204 9#if defined(CONFIG_IO_URING)
f552a27a 10void __io_uring_cancel(bool cancel_all);
0f212204 11void __io_uring_free(struct task_struct *tsk);
e7a6c00d 12void io_uring_unreg_ringfd(void);
33337d03 13const char *io_uring_get_opcode(u8 opcode);
a4104821 14bool io_is_uring_fops(struct file *file);
0f212204 15
f552a27a 16static inline void io_uring_files_cancel(void)
0f212204 17{
e7a6c00d
JA
18 if (current->io_uring) {
19 io_uring_unreg_ringfd();
f552a27a 20 __io_uring_cancel(false);
e7a6c00d 21 }
0f212204 22}
3f48cf18 23static inline void io_uring_task_cancel(void)
0f212204 24{
a4aadd11 25 if (current->io_uring)
f552a27a 26 __io_uring_cancel(true);
0f212204
JA
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}
f552a27a 37static inline void io_uring_files_cancel(void)
0f212204
JA
38{
39}
40static inline void io_uring_free(struct task_struct *tsk)
41{
42}
33337d03
DY
43static inline const char *io_uring_get_opcode(u8 opcode)
44{
45 return "";
46}
a4104821
JA
47static inline bool io_is_uring_fops(struct file *file)
48{
49 return false;
50}
0f212204
JA
51#endif
52
53#endif