]> git.baikalelectronics.ru Git - kernel.git/commit
io_uring: change registration/upd/rsrc tagging ABI
authorPavel Begunkov <asml.silence@gmail.com>
Thu, 10 Jun 2021 15:37:37 +0000 (16:37 +0100)
committerJens Axboe <axboe@kernel.dk>
Thu, 10 Jun 2021 22:33:51 +0000 (16:33 -0600)
commit97f8aa69e67d43c0d8d013fa8db8c810e98bfe25
tree3de728aba883d8c2a3b00f0eba1d80021bc7b4f0
parent7211cedcac712ba26d0ba2d3409649772a21a533
io_uring: change registration/upd/rsrc tagging ABI

There are ABI moments about recently added rsrc registration/update and
tagging that might become a nuisance in the future. First,
IORING_REGISTER_RSRC[_UPD] hide different types of resources under it,
so breaks fine control over them by restrictions. It works for now, but
once those are wanted under restrictions it would require a rework.

It was also inconvenient trying to fit a new resource not supporting
all the features (e.g. dynamic update) into the interface, so better
to return to IORING_REGISTER_* top level dispatching.

Second, register/update were considered to accept a type of resource,
however that's not a good idea because there might be several ways of
registration of a single resource type, e.g. we may want to add
non-contig buffers or anything more exquisite as dma mapped memory.
So, remove IORING_RSRC_[FILE,BUFFER] out of the ABI, and place them
internally for now to limit changes.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/9b554897a7c17ad6e3becc48dfed2f7af9f423d5.1623339162.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c
include/uapi/linux/io_uring.h