History

io_uring: add support for IORING_OP_OPENAT

This works just like openat(2), except it can be performed async. For the normal case of a non-blocking path lookup this will complete inline. If we have to do IO to perform the open, it'll be done from async context.

Jens Axboe committed 6 years ago

Commit 15b71ab1 parent 35cb6d52 files · +95 −2Browse files

Showing the changes to include/uapi/linux (1 of 2 files). Show all

Unified · Split

include/uapi/linux/io_uring.h+2−0
@@ -34,6 +34,7 @@ struct io_uring_sqe { · 33 unmodified lines
34 __u32 timeout_flags;34 __u32 timeout_flags;
35 __u32 accept_flags;35 __u32 accept_flags;
36 __u32 cancel_flags;36 __u32 cancel_flags;
37 __u32 open_flags;
37 };38 };
38 __u64 user_data; /* data to be passed back at completion time */39 __u64 user_data; /* data to be passed back at completion time */
39 union {40 union {
@@ -77,6 +78,7 @@ enum { · 37 unmodified lines
77 IORING_OP_LINK_TIMEOUT,78 IORING_OP_LINK_TIMEOUT,
78 IORING_OP_CONNECT,79 IORING_OP_CONNECT,
79 IORING_OP_FALLOCATE,80 IORING_OP_FALLOCATE,
81 IORING_OP_OPENAT,
80 82
81 /* this goes last, obviously */83 /* this goes last, obviously */
82 IORING_OP_LAST,84 IORING_OP_LAST,