58 lines · 1.5 KB · C
RawDownload
// SPDX-License-Identifier: GPL-2.0#ifndef IOU_OP_DEF_H#define IOU_OP_DEF_H struct io_uring_bpf_ctx; struct io_issue_def {	/* needs req->file assigned */	unsigned		needs_file : 1;	/* should block plug */	unsigned		plug : 1;	/* supports ioprio */	unsigned		ioprio : 1;	/* supports iopoll */	unsigned		iopoll : 1;	/* op supports buffer selection */	unsigned		buffer_select : 1;	/* hash wq insertion if file is a regular file */	unsigned		hash_reg_file : 1;	/* unbound wq insertion if file is a non-regular file */	unsigned		unbound_nonreg_file : 1;	/* set if opcode supports polled "wait" */	unsigned		pollin : 1;	unsigned		pollout : 1;	unsigned		poll_exclusive : 1;	/* skip auditing */	unsigned		audit_skip : 1;	/* vectored opcode, set if 1) vectored, and 2) handler needs to know */	unsigned		vectored : 1;	/* set to 1 if this opcode uses 128b sqes in a mixed sq */	unsigned		is_128 : 1; 	/* size of async data needed, if any */	unsigned short		async_size; 	/* bpf filter pdu size, if any */	unsigned short		filter_pdu_size; 	int (*issue)(struct io_kiocb *, unsigned int);	int (*prep)(struct io_kiocb *, const struct io_uring_sqe *);	void (*filter_populate)(struct io_uring_bpf_ctx *, struct io_kiocb *);}; struct io_cold_def {	const char		*name; 	void (*sqe_copy)(struct io_kiocb *);	void (*cleanup)(struct io_kiocb *);	void (*fail)(struct io_kiocb *);}; extern const struct io_issue_def io_issue_defs[];extern const struct io_cold_def io_cold_defs[]; bool io_uring_op_supported(u8 opcode); void io_uring_optable_init(void);#endif

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t