aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/io_uring.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/io_uring.h')
-rw-r--r--include/linux/io_uring.h62
1 files changed, 20 insertions, 42 deletions
diff --git a/include/linux/io_uring.h b/include/linux/io_uring.h
index 868364cea3b7..85fe4e6b275c 100644
--- a/include/linux/io_uring.h
+++ b/include/linux/io_uring.h
@@ -4,50 +4,24 @@
#include <linux/sched.h>
#include <linux/xarray.h>
-
-struct io_identity {
- struct files_struct *files;
- struct mm_struct *mm;
-#ifdef CONFIG_BLK_CGROUP
- struct cgroup_subsys_state *blkcg_css;
-#endif
- const struct cred *creds;
- struct nsproxy *nsproxy;
- struct fs_struct *fs;
- unsigned long fsize;
-#ifdef CONFIG_AUDIT
- kuid_t loginuid;
- unsigned int sessionid;
-#endif
- refcount_t count;
-};
-
-struct io_uring_task {
- /* submission side */
- struct xarray xa;
- struct wait_queue_head wait;
- struct file *last;
- struct percpu_counter inflight;
- struct io_identity __identity;
- struct io_identity *identity;
- bool in_idle;
-};
+#include <uapi/linux/io_uring.h>
#if defined(CONFIG_IO_URING)
-struct sock *io_uring_get_socket(struct file *file);
-void __io_uring_task_cancel(void);
-void __io_uring_files_cancel(struct files_struct *files);
+void __io_uring_cancel(bool cancel_all);
void __io_uring_free(struct task_struct *tsk);
+void io_uring_unreg_ringfd(void);
+const char *io_uring_get_opcode(u8 opcode);
+bool io_is_uring_fops(struct file *file);
-static inline void io_uring_task_cancel(void)
+static inline void io_uring_files_cancel(void)
{
- if (current->io_uring && !xa_empty(&current->io_uring->xa))
- __io_uring_task_cancel();
+ if (current->io_uring)
+ __io_uring_cancel(false);
}
-static inline void io_uring_files_cancel(struct files_struct *files)
+static inline void io_uring_task_cancel(void)
{
- if (current->io_uring && !xa_empty(&current->io_uring->xa))
- __io_uring_files_cancel(files);
+ if (current->io_uring)
+ __io_uring_cancel(true);
}
static inline void io_uring_free(struct task_struct *tsk)
{
@@ -55,19 +29,23 @@ static inline void io_uring_free(struct task_struct *tsk)
__io_uring_free(tsk);
}
#else
-static inline struct sock *io_uring_get_socket(struct file *file)
-{
- return NULL;
-}
static inline void io_uring_task_cancel(void)
{
}
-static inline void io_uring_files_cancel(struct files_struct *files)
+static inline void io_uring_files_cancel(void)
{
}
static inline void io_uring_free(struct task_struct *tsk)
{
}
+static inline const char *io_uring_get_opcode(u8 opcode)
+{
+ return "";
+}
+static inline bool io_is_uring_fops(struct file *file)
+{
+ return false;
+}
#endif
#endif