1-7 implement ctx wide rsrc nodes. The main idea here is to make make rsrc nodes (aka ref nodes) to be per ctx rather than per rsrc_data, that is a requirement for having multiple resource types. All the meat to it in 7/7. Btw improve rsrc API, because it was too easy to misuse. 8-17 are necessarily related cleanups v2: io_rsrc_node_destroy() last rsrc_node on ctx_free() v3: add 8-17, 1-7 are unchanged Pavel Begunkov (17): io_uring: name rsrc bits consistently io_uring: simplify io_rsrc_node_ref_zero io_uring: use rsrc prealloc infra for files reg io_uring: encapsulate rsrc node manipulations io_uring: move rsrc_put callback into io_rsrc_data io_uring: refactor io_queue_rsrc_removal() io_uring: ctx-wide rsrc nodes io_uring: reuse io_rsrc_node_destroy() io_uring: remove useless is_dying check on quiesce io_uring: refactor rw reissue io_uring: combine lock/unlock sections on exit io_uring: better ref handling in poll_remove_one io_uring: remove unused hash_wait io_uring: refactor io_async_cancel() io_uring: improve import_fixed overflow checks io_uring: store reg buffer end instead of length io_uring: kill unused forward decls fs/io_uring.c | 333 ++++++++++++++++++++------------------------------ 1 file changed, 135 insertions(+), 198 deletions(-) -- 2.24.0