diff options
author | Jens Axboe <axboe@kernel.dk> | 2024-10-28 18:43:13 -0600 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2024-11-02 15:45:30 -0600 |
commit | b16e920a1909da6799c43000db730d8fcdcae907 (patch) | |
tree | f7e2dd08aa3ba7502b82a9ee70fe4c27a0d2920f /include/uapi | |
parent | d50f94d761a5d9a34e03a86e512e19d88cbeaf06 (diff) |
io_uring/rsrc: allow cloning at an offset
Right now buffer cloning is an all-or-nothing kind of thing - either the
whole table is cloned from a source to a destination ring, or nothing at
all.
However, it's not always desired to clone the whole thing. Allow for
the application to specify a source and destination offset, and a
number of buffers to clone. If the destination offset is non-zero, then
allocate sparse nodes upfront.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/uapi')
-rw-r--r-- | include/uapi/linux/io_uring.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/include/uapi/linux/io_uring.h b/include/uapi/linux/io_uring.h index 024745283783..cc8dbe78c126 100644 --- a/include/uapi/linux/io_uring.h +++ b/include/uapi/linux/io_uring.h @@ -719,7 +719,10 @@ enum { struct io_uring_clone_buffers { __u32 src_fd; __u32 flags; - __u32 pad[6]; + __u32 src_off; + __u32 dst_off; + __u32 nr; + __u32 pad[3]; }; struct io_uring_buf { |