io_uring/rsrc: allow cloning at an offset
authorJens Axboe <axboe@kernel.dk>
Tue, 29 Oct 2024 00:43:13 +0000 (18:43 -0600)
committerJens Axboe <axboe@kernel.dk>
Wed, 30 Oct 2024 20:04:59 +0000 (14:04 -0600)
commit05ed1fe7ae5ce50f84145c47925eea42c561f59d
treea3d434ce60ed468f8f9c3d7c6d5c357216db86cb
parent9dcbef649c90bf8fa6127daee5a50723bcdec6e2
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>
include/uapi/linux/io_uring.h
io_uring/rsrc.c