Merge tag 'ieee802154-for-davem-2021-08-12' of git://git.kernel.org/pub/scm/linux...
[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);
3f48cf18 10void __io_uring_cancel(struct files_struct *files);
0f212204
JA
11void __io_uring_free(struct task_struct *tsk);
12
3f48cf18 13static inline void io_uring_files_cancel(struct files_struct *files)
0f212204 14{
8452d4a6 15 if (current->io_uring)
3f48cf18 16 __io_uring_cancel(files);
0f212204 17}
3f48cf18 18static inline void io_uring_task_cancel(void)
0f212204 19{
3f48cf18 20 return io_uring_files_cancel(NULL);
0f212204
JA
21}
22static inline void io_uring_free(struct task_struct *tsk)
23{
24 if (tsk->io_uring)
25 __io_uring_free(tsk);
26}
27#else
a3ec6005
JA
28static inline struct sock *io_uring_get_socket(struct file *file)
29{
30 return NULL;
31}
0f212204
JA
32static inline void io_uring_task_cancel(void)
33{
34}
35static inline void io_uring_files_cancel(struct files_struct *files)
36{
37}
38static inline void io_uring_free(struct task_struct *tsk)
39{
40}
41#endif
42
43#endif