Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at d986ba0329dcca102e227995371135c9bbcefb6b 63 lines 1.3 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#include <uapi/linux/io_uring.h> 8 9#if defined(CONFIG_IO_URING) 10void __io_uring_cancel(bool cancel_all); 11void __io_uring_free(struct task_struct *tsk); 12void io_uring_unreg_ringfd(void); 13const char *io_uring_get_opcode(u8 opcode); 14bool io_is_uring_fops(struct file *file); 15int __io_uring_fork(struct task_struct *tsk); 16 17static inline void io_uring_files_cancel(void) 18{ 19 if (current->io_uring) 20 __io_uring_cancel(false); 21} 22static inline void io_uring_task_cancel(void) 23{ 24 if (current->io_uring) 25 __io_uring_cancel(true); 26} 27static inline void io_uring_free(struct task_struct *tsk) 28{ 29 if (tsk->io_uring || tsk->io_uring_restrict) 30 __io_uring_free(tsk); 31} 32static inline int io_uring_fork(struct task_struct *tsk) 33{ 34 if (tsk->io_uring_restrict) 35 return __io_uring_fork(tsk); 36 37 return 0; 38} 39#else 40static inline void io_uring_task_cancel(void) 41{ 42} 43static inline void io_uring_files_cancel(void) 44{ 45} 46static inline void io_uring_free(struct task_struct *tsk) 47{ 48} 49static inline const char *io_uring_get_opcode(u8 opcode) 50{ 51 return ""; 52} 53static inline bool io_is_uring_fops(struct file *file) 54{ 55 return false; 56} 57static inline int io_uring_fork(struct task_struct *tsk) 58{ 59 return 0; 60} 61#endif 62 63#endif