liburing-2.2 release - Support non-libc builds. - Optimized syscall handling for x86-64/x86/aarch64. - Enable non-lib function calls for fast path functions. - Add support for multishot accept. - io_uring_register_files() will set RLIMIT_NOFILE if necessary. - Add support for registered ring fds, io_uring_register_ring_fd(), reducingthe overhead of an io_uring_enter() system call. - Add support for the message ring opcode. - Add support for newer request cancelation features. - Add support for IORING_SETUP_COOP_TASKRUN, which can help reduce the overhead of io_uring in general. Most applications should set this flag, see the io_uring_setup.2 man page for details. - Add support for registering a sparse buffer and file set. - Add support for a new buffer provide scheme, see io_uring_register_buf_ring.3 for details. - Add io_uring_submit_and_wait_timeout() for submitting IO and waiting for completions with a timeout. - Add io_uring_prep_{read,write}v2 prep helpers. - Add io_uring_prep_close_direct() helper. - Add support for SQE128 and CQE32, which are doubly sized SQE and CQE rings. This is needed for some cases of the new IORING_OP_URING_CMD, notably for NVMe passthrough. - ~5500 lines of man page additions, including adding ~90 new man pages. - Synced with the 5.19 kernel release, supporting all the features of 5.19 and earlier. - 24 new regression test cases, and ~7000 lines of new tests in general. - General optimizations and fixes.