Ammar Faizi (2): Makefile: Remove the `partcheck` target t/no-mmap-inval: Replace `valloc()` with `t_posix_memalign()` Arthur Williams (1): Fix portability issues in configure script Breno Leitao (5): io_uring: uapi: Sync the {g,s}etsockopt fields liburing.h: Populate SQE for {s,g} etsockopt tests/socket-getsetsock-cmd: New test for {g,s}etsockopt man/io_uring_prep_cmd: Fix argument name man/io_uring_prep_cmd: Add the new sockopt commands Charles Mirabile (4): test/hardlink: Cleanup error handling test/hardlink: add parameter for old's dirfd to `do_linkat` test/hardlink: introduce `fd` variable to hold the file open file descriptor test/hardlink: Add test for `AT_EMPTY_PATH` flag Christopher Head (1): Fix typo in man page David Wei (1): Add compatibility check for idtype_t Dylan Yudaken (1): read-mshot.t: test with differing buffer size Fabrice Fontaine (1): src/arch/aarch64: fix uclibc build Gabriel Krisman Bertazi (2): man/io_uring_enter.2: Move poll update behavior to poll remove man/io_uring_setup.2: Improve IORING_SETUP_REGISTERED_FD_ONLY documentation Guillem Jover (2): man/io_uring_queue_init.3: Fix typo Fix typos Haiyue Wang (1): .gitignore: Add the built binary `examples/proxy` Jack Kelly (1): test/openat2.c: fix tiny typo in description. Jens Axboe (244): test/read-mshot: add multishot read test case Add io_uring_prep_read_multishot() helper test/read-mshot: return T_EXIT_SKIPPED if read mshot isn't supported test/read-mshot: add test case for an invalid file type Add io_uring_prep_read_multishot man page test/read-mshot: add test cases for overflow handling Add waitid test case test/waitid: add explicit cancel test test/waitid: drop rusage test/waitid: shorten wait times test/waitid: skip if argument is given test/waitid: change the sleep helper to take usecs test/waitid: add test case for racy wakeup and cancelations waitid: add io_uring flags parameter Add futex helpers Add basic futex test case test/futex: skip if argument is given test/futex: exercise io-wq driven cancel and wait as well test/futex: test ordering and wakeups test/futex: break early if there's no futex support liburing.h: update futex prep helpers for new sqe layout Add 'flags' to futex prep helpers Update for new prep_futex_waitv() prototype test/futex: test additions and flag changes Update sqe layout and prep helpers Add futex related man pages futex man: add note on using linked timeouts Merge branch 'read-mshot' into next Merge branch 'waitid' into next Merge branch 'futex' into next Add setup.h include test/socket-getsetsock-cmd: make send_data() static io_uring_prep_cmd_sock: cast pointer to untptr_t first test/socket-getsetsock-cmd: return T_EXIT_SKIP if argument passed Merge branch 'next' liburing.spec: move to minor 6 test/futex: don't error on missing futex support test/no-mmap-inval: 0 return is fine too Merge branch 'at_empty_path' of https://github.com/charliemirabile/liburing Merge branch 'pu/typos' of https://github.com/guillemj/liburing test/fixed-buf-merge: add test case for off-by-one in fixed buffer imports test/pollfree: remove test case test/fixed-buf-merge: remember to unlink file on success test/reg-fd-only: test with huge pages as well Merge branch 'typo' of https://github.com/Hawk777/liburing test/read-mshot: test clamped read size Update CHANGELOG Add test case for mmap'ed provided ring buffers and no mmap'ed ring test/ring-leak: skip test if passing io_uring fd fails Add support for IORING_OP_FIXED_FD_INSTALL Add man page for io_uring_prep_fixed_fd_install man/io_uring_prep_read_multishot.3: fix typo io_uring_prep_fixed_fd_install: move flags test: ensure to check write(2) return value examples/send-zerocopy: annotate 'sig' with unused man/io_uring_prep_fixed_fd_install.3: tweaks Update IORING_OP_FIXED_FD_INSTALL API test: update socket opt / socket io cmd for old kernels Rename ffi io_uring_prep_sock_cmd _> io_uring_prep_cmd_sock() test/fixed-buf-merge: add missing unistd.h include Merge branch 'print-libgcc-file-name' of https://github.com/vimproved/liburing Add support for IORING_REGISTER_PBUF_STATUS Merge branch 'man-fixes' of https://github.com/wlukowicz/liburing Merge branch 'fix1' of https://github.com/DylanZA/liburing Add test case for missing local task_work run test/defer-tw-timeout: test irq completions as well test/defer-tw-timeout: support testing in passed in file test/defer-tw-timeout: remember to set the passed in filename Merge branch 'pbuf-status' Add io_uring_buf_ring_head/available() to the exported list Add man page for io_uring_buf_ring_available() man: make a note of how to reduce context switches on waits man: update explanation for sigmask passing liburing.h: get rid of _GNU_SOURCE and XOPEN_SOURCE defines src: remove -g from main library man/io_uring_prep_socket.3: fix typo man/io_uring_prep_read_multishot.3: clarify nbytes test/read-mshot: check that IORING_CQE_F_MORE isn't set on error test/fd-install: check that passing in any creds will fail test/fd-install: test IOSQE_ASYNC as well with creds test/fd-install: test valid case with IOSQE_ASYNC as well test/fd-install: test linked operation as well io_uring_buf_ring_cq_advance: ensure tail store is ordered with buffers test/read-mshot-empty: add test case for fully emptying all data test/read-mshot-empty: skip if argument is given examples/napi-busy-poll-{client,server}: fix various errors examples/napi-busy-poll-{client,server}: add IPV4 support examples/napi-busy-poll-{client,server}: cleanups and doc Merge branch 'man-typo' of https://github.com/usurai/liburing test/recv-multishot: wait for the right amount of CQEs man/io_uring_setup.2: add note on IORING_SETUP_REGISTERED_FD_ONLY Merge branch 'truncate' of https://github.com/tontinton/liburing test/truncate: fix 'size' being used uninitialized in error path Merge branch 'napi' Merge branch 'fix_typo_in_description' of https://github.com/JackKelly/liburing test/truncate: cleanup and fix spurious failures test/truncate: use correct size cast for printing file sizes test/accept: check for bad result on multishot accept overflow examples/napi: add option for DEFER_TASKRUN examples/napi: allow option for -s Merge branch 'master' of https://github.com/ffontaine/liburing Add example proxy examples/proxy: fix type for hostname examples/proxy: send the sme size we received examples/proxy: add bi-directional mode examples/proxy: account short receives rather than print them examples/proxy: add verbosity option examples/proxy: simplify bidi mode examples/proxy: use hex print for user_data test/truncate: don't leave test files around when exiting examples/proxy: thorough cleaning and bug fixes examples/proxy: fix anal CI fallout examples/list: remove extra ';' examples/proxy: get rid of need to track submission state separately examples/proxy: more comments examples/proxy: remove overwrite of 'to_wait' examples/proxy: more comments examples/proxy: yet more comments examples/proxy: expand comments on multishot and direct descriptors examples/proxy: fix shutdown fd notifications examples/proxy: split opcode handling into separate helpers examples/proxy: make the uni directional index the first one examples/proxy: size the SQ ring more appropriately examples/proxy: handle unlikely case of shutdown returning an error examples/proxy: move stats_shown to flag examples/proxy: ipv6 support examples/proxy: fix silly error in grabbing an SQE twice Merge branch 'mfrw/fix-typo-in-usage' of https://github.com/mfrw/liburing examples/proxy: move user_data encoding to header examples/proxy: split event loop into separate function examples/proxy: use cqe->res in handle_receive() examples/proxy: start opcode numbering from 1 examples/proxy: make the initial struct / defines more logical examples/proxy: explicitly cancel receives examples/proxy: gate number of event to wait for on active connections examples/proxy: ensure cancel submits examples/proxy: don't just check for closed connections on empty CQ ring examples/proxy: track start and end time examples/proxy: move receive handling together examples/proxy: don't hard core page size examples/proxy: include sys/time.h for gettimeofday() examples/proxy: handle shutdown more gracefully examples/proxy: enable NAPI usage examples/proxy: add wait batch count examples/proxy: don't wait batch if we have connections going away examples/proxy: add event loop reaping stats examples/proxy: ensure end_time is valid when used examples/proxy: add vlog() to avoid bunch of ugly 'verbose' checks examples/proxy: fix confusing mix of -r and -p for proxy vs sink mode examples/proxy: move some of the tricky cqe -> buffer conversion to helpers examples/proxy: pass 'cqe' in to defer_send() examples/proxy: remove 'ring' argument when not needed examples/proxy: add comment on zero sized receive and buffers examples/proxy: move error handling out-of-line example/proxy: start moving some non-io_uring code to helpers.c examples/proxy: mark 'ring' as unused in the default error handler example/helpers: be sure to include our own header file examples/proxy: simplify the ring buffer management and -ENOBUFS handling examples/proxy: sink must always rearm receive examples/proxy: remove 'bgid' encoding examples/proxy: simplify bid/len passing examples/proxy: add option to use send/recvmsg instead of send/recv examples/proxy: add support for provided buffers for sends examples/proxy: fix hang for -ENOBUFS and no pending sends examples/proxy: set 'len' for ring provided send buffers Merge branch 'proxy-fixes' of https://github.com/wlukowicz/liburing examples/send-zerocopy: set CPU in io-wq mask examples/proxy: use fixed per-direction msghdr/iov examples/proxy: use pre-allocated messages for send/recvmsg usage examples/proxy: clean up split between send and recv stats examples/proxy: no need to use MSG_WAITALL for sends examples/proxy: don't set iov->iov_base for ring provided sends examples/proxy: wire up multishot mode for send/sendmsg examples/proxy: improve wait logic examples/proxy: fix missing break for send_mshot man/io_uring_setup: mention that the submit on overflow depends on kernel examples/proxy: make ring size configurabe (-q) examples/proxy: don't account last 0 sized send as a short one test: add some missing checks for lack of support Fix off-by-one in minor check for io_uring_check_version() man/io_uring_check_version: update to reflect reality test/version: fix broken test Merge branch 'master' of https://github.com/korant96/liburing examples/proxy: use proper feature and send flag defines examples/proxy: update for bundles examples/proxy: ensure to trigger a send if CQE_F_MORE isn't set examples/proxy: split use_msg into snd_msg and rcv_msg examples/proxy: split sendmsg/recvmsg option examples/proxy: s/recv_shot/recv_mshot examples/proxy: split bundle option into recv and send bundle examples/proxy: split send/recv bundle options examples/proxy: make option print-out easier to read examples/proxy: add recvmsg w/multishot pre-pad to buf_size examples/proxy: update example documentation examples/proxy: lay out usage information more logically examples/proxy: size the CQ ring more reasonably examples/proxy: correct documentation on send bundle option examples/proxy: add option to use huge pages for the ring examples/proxy: have example invocation not set default parameters examples/proxy: add some more comments examples/proxy: split recv/recvmnsg and send/sendmsg opcodes examples/proxy: remove redundant asserts Change buffer ring head return value to uint16_t man/io_uring_buf_ring_available: fix typo test/ringbuf-status: add basic "ring buffer fully full" test case examples/proxy: drop (now) unused list code man: add references to io_uring_setup_buf_ring(3) man/io_uring_buf_ring_add: add a note on buffer ID <-> ptr mapping test/a4c0b3decb33: reduce number of iterations examples/proxy: add extended stats man/io_uring_prep_poll_update: note on event masks that can be updated test/read-mshot: fix overflow checking test/buf-ring: test mmap'ed rings too test/connect: add IOSQE_ASYNC test examples/proxy: handle each connection in a seperate thread examples/proxy: add zerocopy send support examples/proxy: note if send zero copy is used examples/proxy: remove dead parameters examples/proxy: wire up new opcodes examples/proxy: be a bit smarter about recv rearm examples/proxy: use MSG_MORE for non-sendmsg based sends examples/proxy: don't mark connection disconnected too soon examples/proxy: include disconnected clients in byte count examples/proxy: don't include NOTIF cqes as errors for send test/file-register: ensure the fail case allocates enough Merge branch 'memory-ordering-and-atomicity' of https://github.com/shachaf/liburing test/connect: add SQPOLL as well test/send_recv: set IORING_SETUP_SUBMIT_ALL test/msg-ring: test DEFER_TASKRUN as well examples/proxy: be a bit smarter in handling send/sendmsg zerocopy test/msg-ring-fd: add test case for FD passing with MSG_RING Add test case for creation/teardown of memory mapped provided buffers test: update for older kernels test/msg-ring-fd: fix bugs in test case Merge branch 'fix_clear_flags' of https://github.com/gxuu/liburing register: use do_register() for NAPI register/unregister test/sqpoll-cancel-hang: remove test test/socket-io-cmd: don't use CQE after io_uring_cqe_seen() t/socket-io-cmd: do single retry for SIOCINQ examples/proxy: re-arm receive if no new send is prepared test/msg-ring: synchronize remote test case with a pthread barrier examples/proxy: increment open_conns early for sink mode examples/proxy: correct sendmsg + bundles message CHANGELOG: minor updates Muhammad Falak R Wani (1): examples/proxy: use -H instead of -h for remote host Pavel Begunkov (12): setup: add IORING_SETUP_NO_SQARRAY support setup: default to IORING_SETUP_NO_SQARRAY tests: comment on io_uring zc and SO_ZEROCOPY examples/sendzc: remove get time overhead examples/sendzc: use stdout for stats examples/sendzc: try to print stats on SIGINT examples/sendzc: improve help message man/io_uring_setup.2: document IORING_SETUP_NO_SQARRAY test: handle test_send_faults()'s cases one by one test/sendzc: improve zc support probing io_uring/sendzc: add DEFER_TASKRUN testing examples/sendzc: test background polling Shachaf Ben-Kiki (1): Fix memory ordering/atomic access Stefan Roesch (4): liburing: add api to set napi busy poll settings liburing: add documentation for new napi busy polling liburing: add example programs for napi busy poll liburing: update changelog with new feature Tony Solomonik (4): Add ftruncate helpers test/truncate: Add test for ftruncate test/truncate: Add test for failure on truncate path man/io_uring_prep_ftruncate: Add the new ftruncate command Violet Purcell (1): Link against libgcc based on output of -print-libgcc-file-name Wojciech Lukowicz (6): man/io_uring_queue_init.3: fix typo man/io_uring_enter.2: tidy up EBADR description man/io_uring_setup.2: tidy up IORING_SETUP_CLAMP description man/io_uring_prep_futex_waitv.3: fix signatures examples/proxy: fix send ring default when unavailable examples/proxy: fix verbose log format Xinghui Li (1): Introduce make uninstall in Makefile gxu (1): Add initialization function of io_uring_sqe usurai (1): man/io_uring_prep_timeout: Fix typo 李通洲 (2): liburing.h: add `io_uring_prep_waitid` man: add man page for `IORING_OP_WAITID`