at v5.12 1.0 kB view raw
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 8#if defined(CONFIG_IO_URING) 9struct sock *io_uring_get_socket(struct file *file); 10void __io_uring_task_cancel(void); 11void __io_uring_files_cancel(struct files_struct *files); 12void __io_uring_free(struct task_struct *tsk); 13 14static inline void io_uring_task_cancel(void) 15{ 16 if (current->io_uring) 17 __io_uring_task_cancel(); 18} 19static inline void io_uring_files_cancel(struct files_struct *files) 20{ 21 if (current->io_uring) 22 __io_uring_files_cancel(files); 23} 24static inline void io_uring_free(struct task_struct *tsk) 25{ 26 if (tsk->io_uring) 27 __io_uring_free(tsk); 28} 29#else 30static inline struct sock *io_uring_get_socket(struct file *file) 31{ 32 return NULL; 33} 34static inline void io_uring_task_cancel(void) 35{ 36} 37static inline void io_uring_files_cancel(struct files_struct *files) 38{ 39} 40static inline void io_uring_free(struct task_struct *tsk) 41{ 42} 43#endif 44 45#endif