Akinobu Mita (1): remove zero-size array in io_uring.h Andres Freund (1): tests: add test for using ring after a forked child exits. Glauber Costa (2): iopoll: test that we always enter the ring probes: provide our own free function Goro Fuji (1): syscall: make syscall.h independently includeable Guillem Jover (12): test: Kill the tests if SIGINT was not effective test: Split each test target and source entry into its own line test: Fix sq-full-cpp source and object declaration build: Output CXX on quiet output when using a C++ compiler test: Handle operating with a missing config-host.mak .gitignore: Sort test program entries .gitignore: Add missing test programs Remove versioned symbols not provided by the shared library anymore Fold versioned symbols into LIBURING_2.0 version node .gitignore: Add sq-poll-dup Fix build flag settings configure: Fix unsafe temporary file creation Hao Xu (2): test/timeout-new: test for timeout feature test: use a map to define test files / devices we need Jens Axboe (165): Add test case for testing full fill of SQ and CQ ring test/nop-all-sizes: exit ring for each loop Merge branch 'man_fix' of https://github.com/necipfazil/liburing Merge branch 'man_newdoc' of https://github.com/xuanyi-fu/liburing Merge branch 'master-debian' of https://github.com/metze-samba/liburing man/io_uring_setup.2: document IORING_SETUP_ATTACH_WQ test/eeed8b54e0df-test: allow 4096 as valid return too Add test case for task_work related wakeup hang test/wakeup-hang: ignore argument .gitignore: add test/wakeup-hang Add test cases for file table exit hang test: add missing SPDX identifiers test/timeout-overflow: don't run on newer kernels test/submit-reuse: accept test argument Add test case for double poll crash test/double-poll-crash: ignore arguments test/lfs-openat: add linked files test case test/a4c0b3decb33-test: limit to 5000 iterations examples/io_uring-test: don't error on shorter files sq_ring_needs_enter: revert change to only enter if submit != 0 Merge branch 'iopoll-enters-test' of https://github.com/glommer/liburing into master test/iopoll: coding style fixups test/iopoll: only SQPOLL requires root, IOPOLL does not Merge branch 'refactor_header_file_deps' of https://github.com/gfx/liburing into master Use the right type for io_uring_prep_splice() io_uring_prep_splice(): fix type (again) Add a test case for closed pipe terminating properly Merge branch 'io_uring_restrictions' of https://github.com/stefano-garzarella/liburing into master test/register-restrictions: don't fail if restrictions aren't supported Add signalfd deadlock test case .gitignore: add a few missing tests Fix missing 'c' in sigfd-deadlock addition test/sigfd-deadlock: remove unneeded libaio.h include test/submit-reuse: explicitly large vec counts and IOSQE_ASYNC Merge branch 'more_pedantic_checks_in_test' of https://github.com/257/liburing into master Merge branch 'pu/test-suite' of https://github.com/guillemj/liburing into master man/io_uring_enter.2: add description of buffer selections man/io_uring_setup.2: document missing IORING_FEAT_* feature flags io_uring.h: add new definitions from 5.10 Add SQPOLL sharing test case test/accept: expect non-failure for SQPOLL on newer kernels test/accept: fix spurious connect failure Add nonblock empty socket read test Add io_uring_sqring_wait() Add a few function comments in liburing.h Add IORING_OP_SHUTDOWN and prep helper Add IORING_OP_SHUTDOWN test case test/shutdown: ignore SIGPIPE Bump major version to 2 test/send_recv: test non-registered SQPOLL files if available io_uring.h: fix missing tab Merge branch 'master' of https://github.com/jorangreef/liburing into master man/io_uring_setup.2: improve SQPOLL wakeup example test/send_recv: exit properly if SQPOLL_NONFIXED isn't available test/sq-poll-share: error handling fixes Add segmented read/write pipe test Merge branch 'pu/version-node' of https://github.com/guillemj/liburing into master .gitignore: add pipe-reuse Merge branch 'fix-disabled-ring-error' of https://github.com/stefano-garzarella/liburing into master test/iopoll: correctly skip IOPOLL if test device/file doesn't support it test/iopoll: don't truncate target file test/sq-poll-share: unlink file on successful exit too Add sq-poll-dup test case test/sq-poll-share: don't close file until we're done test/sq-poll-{share,dup}: use prepped SQEs as what to wait for test/sq-poll-dup: test a few more cases test/sq-poll-dup: remove unused variable Merge branch 'free' of https://github.com/glommer/liburing into master test/accept-link: fix check for using a passed in test file Merge branch 'master' of https://github.com/shuveb/liburing into master man/io_uring.7: style and barrier updates man/io_uring.7: clarify submission/completion ordering man/io_uring_enter.2: clarify PROVIDE_BUFFERS requirements test: find free port choice test/lfs-openat: defer open until we know we're running the test Merge branch 'master' of https://github.com/CarterLi/liburing into master Merge branch 'master' of https://github.com/shuveb/liburing into master Merge branch 'feature/man-pages' of https://github.com/pcewing/liburing into master Makefile: add .PHONY dependency test/submit-reuse: take a breather between fadvise calls man/io_uring_enter.2: clarify POLL_ADD return value Merge branch 'manpage-get-sqe' of https://github.com/pcewing/liburing into master Merge branch 'pu/build-flags' of https://github.com/guillemj/liburing into master test/*-reuse: don't test for !IORING_FEAT_SUBMIT_STABLE test/accept-link: abort if accept isn't supported test/accept-test: skip if accept isn't supported test/splice: expand criteria for having splice and skip if not there test/close-opath: skip on older kernels test/connect: skip if connect isn't supported test/cq-overflow-peek: skip for !NODROP test/file-register: add expected fail case Merge branch 'pu/unsafe-tmpdir' of https://github.com/guillemj/liburing test/submit-reuse: error check file opens test/accept-reuse: reduce queue size io_uring.h: add renameat and unlinkat opcodes liburing.h: add renameat/unlinkat prep helpers Add rename at unlink test cases Merge branch 'assert' of https://github.com/sharpelletti/liburing test/{rename,unlink}: don't fail on no kernel support test/rename: add failure case test/unlink: add failure case .gitignore: add missing test cases test/self: add /proc/self/ open+read test case test/self: update description io_uring.h: update with 5.11-pending copy Include 'features' in struct io_uring Add __sys_io_uring_enter2() Add wrapper for __io_uring_get_cqe() Use IORING_ENTER_GETEVENTS_TIMEOUT if available Update SIG_IS_DATA to modified kernel API Rename SIG_IS_DATA -> EXT_ARG Merge branch 'master' of https://github.com/kraj/liburing Merge branch 'identifier' of https://github.com/sharpelletti/liburing Add test case for SQPOLL going to sleep properly Merge branch 'fix-io-uring-setup-manual' of https://github.com/wapxmas/liburing Merge branch 'master' of https://github.com/romange/liburing Merge branch 'fix-manpage-newline' of https://github.com/goldsteinn/liburing Merge branch 'liburing-add-branch-helpers' of https://github.com/goldsteinn/liburing Merge branch 'fix-type-manpage' of https://github.com/goldsteinn/liburing liburing.h: fix 32-bit compile warning src/queue: add comment on why reading SQ->head for flush isn't atomic man/io_uring_enter.2: ensure all IORING_ENTER_* flags are documented man/io_uring_enter.2: document new opcodes man/io_uring_setup.2: correct 5.10 -> 5.11 for non-fixed files and SQPOLL Merge branch 'dev/cosmetics' of https://github.com/nunojsa/liburing Add test case for thread exiting with pending IO test/self: skip if argument passed in Merge branch 'io_uring_enter_man_fallocate' of https://github.com/jorangreef/liburing Add circular poll ring test case Add two ring deadlock case Add .gitignore entries for recent tests Merge branch 'master' of https://github.com/goldsteinn/liburing man/io_uring_register.2: fix spelling error io_uring.h: 5.12 pending kernel sync test/file-register: cleanups test/file-register: skip file skipping on older kernels src/queue: update comment on io_uring_wait_cqes() with timeouts Merge branch 'patch-2' of https://github.com/NobodyXu/liburing test/poll*: use appropriately sized CQ ring Merge branch 'master' of https://github.com/CarterLi/liburing Merge branch 'AddDocForSplice' of https://github.com/NobodyXu/liburing Add test case for circular reference SQPOLL hang src/queue: never clear data->wait_nr tests: make the per-test device/file map TEST_MAP Merge branch 'uman/man7-install' of https://github.com/UmanShahzad/liburing Merge branch 'Pr1' of https://github.com/romange/liburing .gitignore: add sendmsg_fs_cve test/read-write: skip too-big test on non-root Merge branch 'master' of https://github.com/FletcherJ1/liburing io_uring_prep_sync_file_range: cleanups test/fsync: use new io_uring_prep_sync_file_range() helper test: use random port in range for socket tests Merge branch 'master' of https://github.com/ZhiqiangLiu26/liburing setup: cleanup probe code Merge branch 'fix-check-malloc' of https://github.com/ZhiqiangLiu26/liburing Merge branch 'add-memalign-helper' of https://github.com/ZhiqiangLiu26/liburing test/Makefile: ensure dependencies and build of helpers.[ch] is sane Merge branch 'add-memalign-helper' of https://github.com/ZhiqiangLiu26/liburing test/helpers: remove extra whitespace helpers: prefix any helper with t_ instead of io_uring_ test/helpers: add ring creation helpers test: use ring creation helpers where appropriate Merge branch 'test-io-after-child-exit' of https://github.com/anarazel/liburing Add test case for exiting with SQPOLL and rings created disabled Sync io_uring.h API file with Linux 5.12 Jiahao XU (2): Fix sigset_t not found in liburing.h Add inline doc in the comments for io_uring_prep_splice Joran Dirk Greef (2): Fix io_uring_sq_ready() to use load acquire to read khead. Fix IORING_OP_FALLOCATE args in io_uring_enter(2) man page Khem Raj (1): test: Fix build on 32bit architectures with 6bit time_t Lukas Czerner (2): runtests: clean up code in runtests.sh runtests: add ability to exclude tests Marcelo Diop-Gonzalez (2): Don't enter the kernel to wait on cqes if they are already available. tests: add another timeout sequence test case Necip Fazil Yildiran (1): man/io_uring_enter: fix openat sqe doc Nuno Sa (2): src/queue: fix `sq_ring_needs_enter()` indentation src/queue: Fix a typo in `__io_uring_flush_sq()` Paul Ewing (5): Add man page for io_uring_queue_init Add man page for io_uring_queue_exit Update packaging/installation for new man pages Add man page for io_uring_get_sqe Add get_sqe manpage to debian package Pavel Begunkov (24): test/cancel: test cancellation of deferred reqs test/lfs-open: less limited test_drained_files test: long iov recvmsg()/copy Add timeout update test/timeout: test timeout updates test/rw: name flags for clearness test/rw: remove not used mixed_fixed flag test/rw: test reg bufs with non-align sizes/offset man/io_uring_enter.2: describe timeout updates timeout/test: clear state for timeout updates rem_buf/test: inital testing for OP_REMOVE_BUFFERS tests: identify timed out tests correctly tests: test fixed file removal order src/queue: refactor io_uring_get_sqe() test/drain: test draining linked timeouts src/queue: don't wait for less than expected src/queue: clean _io_uring_get_cqe() err handling src/queue: don't loop when don't enter src/queue: don't re-wait for CQEs src/queue: control kernel enter with a var test/link-timeout: close pipes after yourself test/sq-poll-share: don't ignore wait errors a test for CVE-2020-29373 (AF_UNIX path resolution) test: don't expect links to be partially executed Paymon MARANDI (1): test: check return of io_uring_get_sqe() Roman Gershman (2): Add const modifier to functions that do not change the state of the ring Add a test demonstrating connect timeout functionality Ryan Sharpelletti (2): Moves function calls out of assert(). Changes format string from %lld to %PRIu64 in several tests. Sergei Iashin (1): man/io_uring_setup.2: a version of IORING_FEAT_SQPOLL_NONFIXED feature availability has been changed to 5.11 Shuveb Hussain (2): Adding section 7 man page for io_uring Adding full example to io_uring(7) man page while also fixing some text to comply to the "semantic new lines" recommendation from man-pages(7). Simon Zeni (2): examples: disable ucontext-cp if ucontext.h is not available Fix compilation with iso C standard (c89, c99 and c11) Stefan Metzmacher (3): debian/rules: pass down relativelibdir in order to get an absolute path update debian/liburing1.symbols update debian/changelog Stefano Garzarella (12): .gitignore: add test/nop-all-sizes io_uring.h: use an enumeration for io_uring_register(2) opcodes io_uring.h: add register restrictions and enable ring defines Add helper to register restrictions Add helper to enable rings Add test/register-restrictions.c test case test/register-restrictions: fix rings_not_disabled test test/register-restrictions: add new rings_disabled test case man/io_uring_enter.2: split ERRORS section in two sections man/io_uring_setup.2: add IORING_SETUP_R_DISABLED description man/io_uring_register.2: add description of restrictions man/io_uring_enter.2: add EACCES and EBADFD errors Uman Shahzad (1): Install man7 pages Zhiqiang Liu (6): setup: check whether malloc succ before using it tests: add helpers.h to harden the tests helpers: add io_uring_posix_memalign helper helpers: add io_uring_calloc helper helpers: add io_uring_create_file() helper helpers: add io_uring_create_buffers() helper james (1): Added prep function for sync_file_range op noah (5): fixed newline character in man. $> man -l io_uring.7 would display 0 instead of backslash n Added __builtin_expect macros and wrapped IORING_ENTER_SQ_WAKEUP branch man/io_uring.7: Fix typo test/file-register.c: Add tests for skipping file man/io_uring_register.2: Add documentation on IORING_REGISTER_FILES_SKIP xuanyi-fu (1): man/io_uring_setup.2: document IORING_SETUP_CLAMP 李通洲 (2): liburing.h: add `io_uring_prep_tee` src/queue.c: don't test `LIBURING_UDATA_TIMEOUT` for the latest kernel since we don't use it internally