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. Others are further cleanups v2: io_rsrc_node_destroy() last rsrc_node on ctx_free() v3: the series is growing v4: keep growing... Pavel Begunkov (26): 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 io_uring: lock annotate timeouts and poll io_uring: simplify overflow handling io_uring: put link timeout req consistently io_uring: deduplicate NOSIGNAL setting io_uring: set proper FFS* flags on reg file update io_uring: don't quiesce intial files register io_uring: refactor file tables alloc/free io_uring: encapsulate fixed files into struct io_uring: kill outdated comment about splice punt fs/io_uring.c | 504 ++++++++++++++++++++++---------------------------- 1 file changed, 222 insertions(+), 282 deletions(-) -- 2.24.0