block: remove QUEUE_FLAG_DISCARD
[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>
98447d65 7
0f212204 8#if defined(CONFIG_IO_URING)
a3ec6005 9struct sock *io_uring_get_socket(struct file *file);
f552a27a 10void __io_uring_cancel(bool cancel_all);
0f212204 11void __io_uring_free(struct task_struct *tsk);
e7a6c00d 12void io_uring_unreg_ringfd(void);
0f212204 13
f552a27a 14static 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 21static inline void io_uring_task_cancel(void)
0f212204 22{
a4aadd11 23 if (current->io_uring)
f552a27a 24 __io_uring_cancel(true);
0f212204
JA
25}
26static 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
32static inline struct sock *io_uring_get_socket(struct file *file)
33{
34 return NULL;
35}
0f212204
JA
36static inline void io_uring_task_cancel(void)
37{
38}
f552a27a 39static inline void io_uring_files_cancel(void)
0f212204
JA
40{
41}
42static inline void io_uring_free(struct task_struct *tsk)
43{
44}
45#endif
46
47#endif