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>
Tue, 29 Oct 2024 15:08:50 +0000 (09:08 -0600)
commitf53fd51f7a80f5be570b8529a860b65eac18baf0
treecaba5e630e80f3c5bc10806f4ea3a9c53ab964df
parentb90a97a43696f75554c49a98d2113a8f30c49f95
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