Update API

- io_uring_sqe added a data field that's passed back at completion
- io_uring_sqe added an index field, for fixed buffer locations
- io_uring_setup(2) system call added a 'nr_iovecs' field

Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Jens Axboe
2019-01-10 09:32:41 -07:00
parent 7bf7e8e8e5
commit 6cdce17753
6 changed files with 40 additions and 30 deletions

View File

@@ -44,7 +44,7 @@ struct io_uring {
* System calls
*/
extern int io_uring_setup(unsigned entries, struct iovec *iovecs,
struct io_uring_params *p);
unsigned nr_iovecs, struct io_uring_params *p);
extern int io_uring_enter(unsigned fd, unsigned to_submit,
unsigned min_complete, unsigned flags);
@@ -52,7 +52,7 @@ extern int io_uring_enter(unsigned fd, unsigned to_submit,
* Library interface
*/
extern int io_uring_queue_init(unsigned entries, struct io_uring_params *p,
struct iovec *iovecs, struct io_uring *ring);
struct iovec *iovecs, unsigned nr_iovecs, struct io_uring *ring);
extern void io_uring_queue_exit(struct io_uring *ring);
extern int io_uring_get_completion(struct io_uring *ring,
struct io_uring_cqe **cqe_ptr);
@@ -61,10 +61,4 @@ extern int io_uring_wait_completion(struct io_uring *ring,
extern int io_uring_submit(struct io_uring *ring);
extern struct io_uring_sqe *io_uring_get_sqe(struct io_uring *ring);
static inline struct io_uring_sqe *
io_uring_sqe_from_cqe(struct io_uring *ring, struct io_uring_cqe *cqe)
{
return &ring->sq.sqes[cqe->index];
}
#endif