OSDN Git Service

io_uring: add flag for allocating a fully sparse direct descriptor space
authorJens Axboe <axboe@kernel.dk>
Mon, 9 May 2022 15:29:14 +0000 (09:29 -0600)
committerJens Axboe <axboe@kernel.dk>
Fri, 13 May 2022 12:28:50 +0000 (06:28 -0600)
commita8da73a32b6e9271a613e5a0e90a8c35f40abeb8
treee42e5f63b825f72c1597f46979937319608529cf
parent09893e15f1e9910711c152cd126ccfa85581ba83
io_uring: add flag for allocating a fully sparse direct descriptor space

Currently to setup a fully sparse descriptor space upfront, the app needs
to alloate an array of the full size and memset it to -1 and then pass
that in. Make this a bit easier by allowing a flag that simply does
this internally rather than needing to copy each slot separately.

This works with IORING_REGISTER_FILES2 as the flag is set in struct
io_uring_rsrc_register, and is only allow when the type is
IORING_RSRC_FILE as this doesn't make sense for registered buffers.

Reviewed-by: Hao Xu <howeyxu@tencent.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c
include/uapi/linux/io_uring.h