at v5.18 968 B 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_cancel(bool cancel_all); 11void __io_uring_free(struct task_struct *tsk); 12void io_uring_unreg_ringfd(void); 13 14static inline void io_uring_files_cancel(void) 15{ 16 if (current->io_uring) { 17 io_uring_unreg_ringfd(); 18 __io_uring_cancel(false); 19 } 20} 21static inline void io_uring_task_cancel(void) 22{ 23 if (current->io_uring) 24 __io_uring_cancel(true); 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 32static inline struct sock *io_uring_get_socket(struct file *file) 33{ 34 return NULL; 35} 36static inline void io_uring_task_cancel(void) 37{ 38} 39static inline void io_uring_files_cancel(void) 40{ 41} 42static inline void io_uring_free(struct task_struct *tsk) 43{ 44} 45#endif 46 47#endif