Alviro Iskandar Setiawan (5): configure: Always enable `CONFIG_NOLIBC` if the arch is supported tests: Remove unnecessary semicolon tests: Wrap the `CHECK()` macro with a do-while test/fsnotify: Skip fsnotify test if sys/fanotify.h not available github: Add hppa cross compiler Ammar Faizi (48): register: Remove useless branches in {un,}register eventfd register: Remove useless branches in {un,}register buffers register: Remove useless branch in unregister files register: Remove useless branch in register probe register: Remove useless branch in register restrictions nolibc: Do not define `memset()` function in liburing nolibc: Simplify function naming queue: Fix typo "entererd" -> "entered" queue: Mark `__io_uring_flush_sq()` as static test/io_uring_setup: Remove unused functions ucontext-cp: Remove an unused function tests: Mark non-exported functions as static ucontext-cp: Mark a non-exported function as static test/Makefile: Omit `-Wmissing-prototypes` from the C++ compiler flags github: Add `-Wmissing-prototypes` for GitHub CI bot liburing-ffi.map: Add missing functions test/sendmsg_fs_cve: Fix the wrong SPDX-License-Identifier ffi: Add SPDX-License-Idetifier Makefile: Add a '+' char to silence a Makefile warning tests: Fix `-Wstrict-prototypes` warnings from Clang test/ring-leak: Remove a "break" statement in a "for loop" tests: Fix clang `-Wunreachable-code` warning tests: Declare internal variables as static github: Add more extra flags for clang build CHANGELOG: Update the CHANGELOG file nolibc: Fix bloated memset due to unexpected vectorization register: Simplify `io_uring_register_file_alloc_range()` function github: Remove nolibc build on the GitHub CI bot liburing-ffi.map: Add io_uring_prep_msg_ring_cqe_flags() function CHANGELOG: Note about --nolibc configure option deprecation liburing.h: 's/is adjust/is adjusted/' and fix indentation man/io_uring_prep_splice.3: Explain more about io_uring_prep_splice() man/io_uring_prep_splice.3: Fix description in io_uring_prep_splice() manpage liburing.map: Export `io_uring_{enable_rings,register_restrictions}` README: Explain how to build liburing README: Explain about FFI support github: Upgrade the clang version to 17 io_uring-udp: Fix the wrong `inet_ntop()` argument github: Append `-Wno-sign-compare` to the GitHub build bot CFLAGS man/io_uring_register_{buffers,files}: Kill trailing whitespaces io_uring-udp: Fix the wrong IPv6 binary to string conversion man/io_uring_cqe_get_data.3: Fix a misleading return value liburing: Add `io_uring_prep_sendto()` man: Add `io_uring_prep_sendto()` recv-msgall: Fix undefined behavior in `recv_prep()` recv-msgall: Fix invalid mutex usage man/io_uring_for_each_cqe: Fix return value, title, and typo man/io_uring_for_each_cqe: Explicitly tell it's a macro and add an example Bart Trojanowski (1): use make --no-print-directory to generate version string Bira Ignacio (1): fix documentation for readv, readv2 and setup Breno Leitao (6): man/io_uring_prep_msg_ring.3: Remove an extra char uapi: Sync with the kernel in order to see IORING_MSG_RING_FLAGS_PASS Add io_uring_prep_msg_ring_cqe_flags function liburing.h: Use proper sqe flags man/io_uring_prep_msg_ring: Add additional function test/io_uring_prep_msg_ring_cqe_flags new test Christian Hergert (4): Makefile.common: include VERSION_MINOR from specfile version: generate io_uring_version.h from Makefile.common version: add runtime and compile time version checks man: add documentation for version functions and macros Christian Mazakas (1): build: add liburing-ffi David Wei (3): liburing: add multishot timeout support liburing: update man page for multishot timeouts liburing: Fix multishot timeout test failures Dmitry Antipov (3): man: fix io_uring_wait_cqe_timeout() typo man: fix io_uring_prep_poll_add() typo man: fix io_uring_prep_{readv,writev}{2} typo Dylan Yudaken (9): io_uring: add a test for missing task work Do not always expect multishot recv to stop posting events test that unregister_files processes task work Alphabetise the test list Add a test for errors in multishot recv add a test for multishot downgrading add a test using drain with IORING_SETUP_DEFER_TASKRUN run link_drain test with defer_taskrun too multicqes_drain: make trigger event wait before reading Gabriel Krisman Bertazi (2): test/helpers: fix socket length type test/file-verify.t: Don't run over mlock limit when run as non-root Guillem Jover (3): Switch URLs from http to https man: Fix typos pkgconfig: Add a liburing-ffi.pc file Haiyue Wang (1): .gitignore: Add `examples/rsrc-update-bench` Itay Snir (1): test/send_recv.c: added io_uring_queue_exit call for do_send err handler Jens Axboe (127): Add fsnotify test case Merge branch 'pipe_bug' of https://github.com/DylanZA/liburing into next test/pipe-bug.c: remove last remaining bzero() test/fsnotify: only test on regular files Merge branch 'next' liburing.spec: bump version to 2.4 Merge branch 'master' of https://github.com/itaysnir/liburing man/io_uring_prep_provide_buffers.3: clarify buffer ID range Merge branch 'man-fix-io-uring-wait-cqe-timeout-typo' of https://github.com/dmantipov/liburing Add test cases for eventfd and epoll loops test/io_uring_passthrough: skip if kernel doesn't support passthrough Merge branch 'man-fix-io-uring-prep-poll-add-typo' of https://github.com/dmantipov/liburing Merge branch 'master' of https://github.com/chergert/liburing Merge branch 'provide-buffers-man-fixes' of https://github.com/wlukowicz/liburing Merge branch 'liburing-ffi' of https://github.com/cmazakas/liburing liburing.h: various indentation fixes Merge branch 'main-fix-io-uring-prep-readv-writev-typo' of https://github.com/dmantipov/liburing Merge branch 'issue_746_man-page-fixes-improvements' of https://github.com/bignacio/liburing man/io_uring_setup.2: fix references to library/system calls Merge branch 'man-fixes' of https://github.com/wlukowicz/liburing Ensure LFS is used on 32-bit compiles test/d4ae271dfaae: bump queue size to 16 test/io_uring_passthrough: skip test if bit sqe/cqe support not there man/io_uring_setup.2: add not on SQPOLL and privileges Merge branch 'man-fixes' of https://github.com/wlukowicz/liburing Merge branch 'io_uring_uapi' of https://github.com/metze-samba/liburing test: always use local liburing.h header Merge branch 'manpage' of https://github.com/leitao/liburing man/io_uring_setup.2: add note on IOPOLL and storage devices Merge branch 'man-fixes' of https://github.com/wlukowicz/liburing Merge branch 'io_uring_prep_msg_ring' of https://github.com/leitao/liburing test/poll-race: add test case for racy poll handling test/poll-race: skip test if argument is given man: update send/send_zc/sendmsg on IOSQE_IO_LINK usage Merge branch 'master' of https://github.com/leitao/liburing test/msg-ring-flags: cleanups for skipping on unsupported kernels test/iopoll-overflow: add specific test for IOPOLL overflow Merge branch 'pu/man-fixes' of https://github.com/guillemj/liburing Merge branch 'pu/liburing-ffi.pc' of https://github.com/guillemj/liburing test/msg-ring: don't print 'skipped' when test gets skipped test/msg-ring-overflow: add overflow tests for IORING_OP_MSG_RING test/msg-ring-flags: reduce queue size to 2 test/msg-ring-flags: add overflow test test/msg-ring-flags: test remote passing as well test/iopoll: add explicit test case for io_uring_peek_cqe() and IOPOLL test/poll-race-mshot: add test case for poll race with multishot test/poll-race-mshot: add poll race test with regular recv and pbufs test: get rid of variout "not supported, skipped" messages test/msg-ring-overflow: skip on kernels without full submit test/poll-race-mshot: skip test if no provided buffer ring is available test/helpers: don't warn for -EINVAL on ring create test/accept: gracefully accept test skips test/read-before-exit: handle IOPOLL failure on older kernels test/accept: remove leftover debug code man/io_uring_prep_msg_ring: add note on sending to a disabled ring test/poll: add test case with a ton of poll requests for the ring itself Merge tag 'upgrade-to-clang17-2023-02-02' of https://github.com/ammarfaizi2/liburing test/fd-pass: add comments and use proper flag name test/fd-pass: add tests with different target/source fd values Add io_uring_prep_msg_ring_fd() helper test/fd-pass: use SQE prep helper rather than opencoding Merge branch 'missing-prep-man-pages' of https://github.com/heyrutvik/liburing Merge branch 'bart/make-no-print-directory' of https://github.com/bartman/liburing Merge branch 'remove-non-portable-error' of https://github.com/stwnt/liburing test/917257daa0fe.c: use symbolic mmap names test: use symbolic mmap flag names test/accept.c: use SOCK_NONBLOCK for socket(2) test/xattr.c: don't fail if the file system doesn't support xattr test: handle lack of O_DIRECT support test/xattr.c: remember to return cqe->res as the value test/lfs-openat*: use O_LARGEFILE to open the file Merge branch 'test-description-typo' of https://github.com/joshtriplett/liburing test/sqpoll-cancel-hang: disable on unknown archs test/connect: skip if tcp_syncookies isn't enable Merge branch 'debian-packaging' of https://github.com/tchaikov/liburing man/io_uring_register_buf_ring.3: improve wording test/poll-race-mshot: fix missing init of buffer ring test/ringbuf-read: initialize ring buffer test/buf-ring: use proper sizing when allocating rings for buffers test/file-verify: remove duplicate include file Merge branch 'master' of https://github.com/kraj/liburing Merge branch 'registered-ring-close' of https://github.com/joshtriplett/liburing man/io_uring_setup.2: IORING_FEAT_REG_REG_RING was included for 6.3 Merge branch 'add-register-buffers-files-functions-man-pages' of https://github.com/heyrutvik/liburing examples/send-zerocopy: cleanups examples/send-zerocopy: cast 'ret' to unsigned long for comparison Merge branch 'master' of https://github.com/chimaoshu/liburing test/file-verify: add dcache sync for parisc test/file-verify: use 32-bytes as the invalidation stride test/file-verify: fix error in address invalidation Add test case for page merging when registering buffers test/regbuf-merge: make local variable static Add man pages for io_uring_prep_msg_ring_fd() and friends Update CHANGELOG for io_uring_prep_msg_ring_fd_alloc() Add helpers for alloc+register and unregister+free for ring buffers test: convert tests to use the provided ring buffer init/free helpers Default to mmap'ed provided buffers for hppa Add man pages for io_uring_{free,setup}_buf_ring() Update CHANGELOG for buffer ring setup/teardown helpers Merge branch 'ring-buf-alloc' test/io_uring_register: be less picky on the POLL test test: remove timeout-overflow.c test/buf-ring: skip test_full_page_reg() on HPPA Update io_uring_prep_fallocate() to use 64-bit length/offset Add test case for repeated connects to socket without listener Merge branch 'off_t' test/reg-hint: add test case for sanity of alloc hints test/reg-hint: fix argument skip and check error result man/io_uring_prep_timeout_update: add note that remove doesn't take flags Merge branch 'master' of https://github.com/freitmi/liburing Factor in IORING_FILE_INDEX_ALLOC for direct fd instantiations test/fallocate: catch SIGXFSZ if issued inline Add __io_uring_buf_ring_cq_advance() helper Merge branch 'dankamongmen/man-atomics' of https://github.com/dankamongmen/liburing Merge branch 'dankamongmen/io_uring_getevent_arghhhhh' of https://github.com/dankamongmen/liburing man/io_uring_register.2: note change in error value on newer kernels src/register: always use ring->enter_ring_fd in do_register() src/setup: minor style cleanups man: add man page for io_uring_for_each_cqe() man/io_uring_wait_cqes: mention io_uring_for_each_cqe() Fix different sign compare warnings src/Makefile: get rid of -Wno-sign-compare io_uring.h: remove dead notification slot definitions src/Makefile: add -fno-builtin src: use __uring_memset() consistently src: use memset() as the symbol src: lib.h still needs the string include Josh Triplett (8): src/register.c: Call __sys_io_uring_register via a helper taking the ring Error on duplicate ring fd registration Fix some copy-paste errors in test descriptions Support using IORING_REGISTER_USE_REGISTERED_RING Support closing the ring fd and using it exclusively via registered index Add example of closing a ring fd and using it via registered index test: Add test for io_uring_register with a registered ring Optimize do_register by combining feature check with internal flag Kanchan Joshi (2): test/io_uring_passthrough: fix iopoll test test/io_uring_passthrough: cleanup invalid submission test Kefu Chai (12): debian: install all manpages make-debs: hardwire distro to "unstable" debian: drop liburing1-udeb debian: use dh to simplify debian/rules debian: bump the so version to 2 debian: specify the debhelper requirement in debian/control debian/control: bump up debhelper-compact to 13 debian/control: add linux header to runtime dependancy debian/liburing-dev.manpages: use paths under install dir debian/liburing2.symbols: update symbols debian/changelog: increment the package version debian/rules: run runtests by default Khem Raj (1): examples,test: Remove unused linux/errqueue.h Michael Freitag (1): man: document that shutdown processing may run asynchronously Pavel Begunkov (37): tests: improve zc cflags handling tests: pass params in a struct tests: add non-zc tests in send-zerocopy.c tests: add tests for retries with long iovec tests: test poll_first tests: test both TCP ends in send zc tests tests/zc: create a new ring for test_send_faults() tests/zc: add control flags tests tests/zc: extra verification for notif completions tests: remove sigalarm from poll.c tests: refactor poll.c tests: check for missing multipoll events tests: refactor poll-many.c tests: test DEFER_TASKRUN in poll-many tests: lazy pollwq activation for disabled rings tests/msg_ring: use correct exit codes tests/msg_ring: test msg_ring with deferred tw test/msg_ring: test msg_ring to a disabled ring tests/msg_ring: refactor test_remote tests/msg_ring: remote submit to a deferred tw ring test: fix parallel send-zerocopy tests/send: don't use a constant for page size send: improve buffer iteration send: test send with hugetlb examples/zc: add a hugetlb option test/send: don't use SO_ZEROCOPY if not available tests/send: improve error reporting tests/send: sends with offsets tests/fd-pass: close rings examples/send-zc: add defer taskrun support examples/send-zc: add affinity / CPU pinning examples/send-zc: add multithreading examples/send-zc: add the receive part examples/send-zc: kill sock bufs configuration Add io_uring_prep_msg_ring_fd_alloc() helper test: test fd msg-ring allocating indexes examples: add rsrc update benchmark Rutvik Patel (8): man: Add manpage for io_uring_prep_send_zc_fixed() man: Add manpage for io_uring_prep_sendmsg_zc() man: Add manpage for io_uring_prep_setxattr() and io_uring_prep_fsetxattr() man: Add manpage for io_uring_prep_getxattr() and io_uring_prep_fgetxattr() man: Add manpage for io_uring_prep_send_set_addr() man: Add manpage for io_uring_prep_link_timeout() man: Add manpage for io_uring_register_buffers_sparse(), io_uring_register_buffers_update_tag() and io_uring_register_buffers_tags() man: Add manpage for io_uring_register_files_tags(), io_uring_register_files_update() and io_uring_register_files_update_tag() Stefan Metzmacher (1): uapi: Sync with the kernel and adjust the way to avoid linux/time_types.h Steffen (3): Add custom error function for tests. test: Use t_error instead of glibc's error. examples: Use t_error instead of glibc's error. Wojciech Lukowicz (10): man/io_uring_prep_provide_buffers.3: several fixes man: fixed IORING_REGISTER_PBUF_RING description man: fix grammar man/io_uring_buf_ring_add.3: fix function signature man/io_uring_register_buf_ring.3: fix references man/io_uring_recvmsg_out.3: fixes and improvements man/io_uring_prep_recvmsg.3: improved formatting man/io_uring_prep_recv.3: fixes and improvements test/buf-ring: add test for buf ring occupying exactly one page test/read-write: add test for CQE res when removing buffers chimaoshu (1): [GIT PULL] man/io_uring_buf_ring_cq_advance.3: correct word spelling nick black (2): io_uring.7: atomic_store_explicit() in examples man: don't link to a page from itself