------------------------------------------------------------------- Thu Apr 20 20:26:32 UTC 2023 - Gabriel Krisman Bertazi - Add 0001-test-file-verify.t-Don-t-run-over-mlock-limit-when-r.patch fixes test with kernel <= 5.16 (bsc#1209723) ------------------------------------------------------------------- Tue Feb 21 13:10:33 UTC 2023 - Jiri Slaby - add 0001-Do-not-always-expect-multishot-recv-to-stop-posting-.patch fixes tests with kernel 6.2 ------------------------------------------------------------------- Sat Jan 21 09:19:57 UTC 2023 - Dirk Müller - add 0001-test-helpers-fix-socket-length-type.patch fixes tests on big endian ------------------------------------------------------------------- Fri Nov 18 21:26:17 UTC 2022 - Dirk Müller - update to 2.3: * Support non-libc build for aarch64. * Add io_uring_{enter,enter2,register,setup} syscall functions. * Add sync cancel interface, io_uring_register_sync_cancel(). * Fix return value of io_uring_submit_and_wait_timeout() to match the man page. * Improvements to the regression tests * Add support and test case for passthrough IO * Add recv and recvmsg multishot helpers and support * Add documentation and support for IORING_SETUP_DEFER_TASKRUN * Fix potential missing kernel entry with IORING_SETUP_IOPOLL * Add support and documentation for zero-copy network transmit * Various optimizations * Many cleanups * Many man page additions and updates - drop handle-eintr.patch, test-xattr-don-t-rely-on-NUL-termination.patch: upstream ------------------------------------------------------------------- Sun Sep 25 14:34:41 UTC 2022 - Dirk Müller - skip checks on qemu_linux_user builds ------------------------------------------------------------------- Tue Aug 16 10:53:40 UTC 2022 - Jiri Slaby - add test-xattr-don-t-rely-on-NUL-termination.patch (bsc#1202413) ------------------------------------------------------------------- Fri Jul 8 12:40:13 UTC 2022 - Dirk Müller - add handle-eintr.patch, enable tests everywhere ------------------------------------------------------------------- Wed Jun 29 11:28:10 UTC 2022 - Dirk Müller - enable tests for != ppc64le ------------------------------------------------------------------- Tue Jun 28 13:40:10 UTC 2022 - Dirk Müller - update to 2.2: * 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. ------------------------------------------------------------------- Fri Apr 29 06:53:08 UTC 2022 - Dirk Müller - avoid requiring kernel-default (bsc#1193522) ------------------------------------------------------------------- Thu Feb 10 13:32:35 UTC 2022 - David Disseldorp - add explicit liburing2-devel alias to reflect SLE/LEAP 15.4+ naming (bsc#1193522) ------------------------------------------------------------------- Wed Oct 13 10:31:43 UTC 2021 - David Disseldorp - update to 2.1 (bsc#1193522): * Ignore spurious fadvise/madvise failures * build: add -D_GNU_SOURCE to all CPPFLAGS/CFLAGS. * man: clean up spelling * man/io_uring_enter.2: add notes about direct open/accept * io_uring.h: sync with 5.15 kernel * Fix IORING_REGISTER_IOWQ_MAX_WORKERS name * man: document new register/update API * liburing: add helpers for direct open/accept * liburing.h: correct max_worker name * Change IORING_REGISTER_IOWQ_MAX_UNBOUND_WORKERS * src/syscall.h: get rid of useless externs * man/io_uring_enter.2: document IORING_ENTER_EXT_ARG * Add io_uring_register_iowq_max_unbound() helper * Get rid of useless 'extern' on function declarations in liburing.h * Add (UN)REGISTER_IOWQ_AFF helpers * man/io_uring_register.2: note when MAX_UNBOUND became available * man/io_uring_register.2: add missing punctuation * man/io_uring_register.2: document IORING_REGISTER_IOWQ_MAX_UNBOUND * man/io_uring_enter.2: add IORING_OP_TIMEOUT clock sources * man/io_uring_enter.2: improve timeout entry * man/io_uring_enter.2: update SQE * man/io_uring_enter.2: note that not all requests support fixed files * man/io_uring_enter.2: add new 5.15 opcodes * man/io_uring_enter.2: note that cqe->flags is indeed used * man/io_uring_enter.2: add poll update and multishot mode * man/io_uring_register.2: add IORING_(UN)REGISTER_IOWQ * man: update notes on register quiesce * man: fix io_uring_sqe alignment * register: add tagging and buf update helpers * liburing.h: make header clean for implicit sign and size conversions * configure: document --cc and --cxx options * io_uring: update buffer update feature testing * liburing.h: dedup poll mask conversion * liburing.h: add a multipoll helper * Update io_uring.h * examples: disable ucontext-cp for elbrus (e2k) architecture * Update io_uring_setup.2 * man/io_uring_setup.2: document the two most recent FEAT flags * man/io_uring_setup.2: make sure FEAT flags are kernel versioned * correct syscall NR in mips * Fix 32-bit compile warnings * liburing.h: make all file/IO offset __u64 * src/queue: don't flush SQ ring for new wait interface * man/io_uring_enter.2: further clarify what cqe->res holds * Clarify information about error results * Refer to the accept_flags in io_uring_enter manual * Fix a bug due to the unreleased lock before function returns * debian/rules: add missing slash for relativelibdir * man/io_uring_enter.2: clarify io_uring_enter(2) SQPOLL return value * liburing.h: add linkat prep helper * io_uring.h: add linkat opcode * liburing.h: add symlinkat prep helper * io_uring.h: add symlinkat opcode * liburing.h: add mkdirat prep helper * update rsrc register/update ABI and tests * queue: clean up SQ flushing * io_uring_enter(2): Clarify how to read from and write to non-seekable files * clarify an edge case of IORING_SETUP_SQ_AFF * io_uring_enter(2): clarify OP_READ and OP_WRITE * sync io_uring.h API file with Linux 5.13 * man: Fix typo in man io_uring_queue_exit * examples/link-cp: fix a couple of strerror negations * src/setup: don't treat dummy ring init as failure * src/setup: add some documentation to the memlock helpers * examples/ucontext-cp.c: cope with variable SIGSTKSZ * setup: provide helpers to inquire about necessary mlock sizes * examples/io_uring-cp: wait for pending writes before exit copy loop * spec: add explicit build dependency on make * spec: bump version to 2.0 * man/io_uring_enter.2: note that -EBUSY can also happen for getevents ------------------------------------------------------------------- Sat Mar 13 21:33:04 UTC 2021 - Dirk Müller - skip building the tests that are neither installed nor run as they fail to build on 32bit platforms (like e.g. armv7l) (bsc#1181571) ------------------------------------------------------------------- Sat Mar 13 20:18:54 UTC 2021 - Dirk Müller - update to 2.0: * Sync io_uring.h API file with Linux 5.12 * helpers: prefix any helper with t_ instead of io_uring_ * helpers: add io_uring_create_buffers() helper * helpers: add io_uring_create_file() helper * helpers: add io_uring_calloc helper * helpers: add io_uring_posix_memalign helper * setup: cleanup probe code * setup: check whether malloc succ before using it * io_uring_prep_sync_file_range: cleanups * .gitignore: add sendmsg_fs_cve * Added prep function for sync_file_range op * Install man7 pages * src/queue: never clear data->wait_nr * src/queue: control kernel enter with a var * src/queue: don't re-wait for CQEs * src/queue: don't loop when don't enter * src/queue: clean _io_uring_get_cqe() err handling * src/queue: don't wait for less than expected * Add inline doc in the comments for io_uring_prep_splice * Fix sigset_t not found in liburing.h * src/queue: update comment on io_uring_wait_cqes() with timeouts * io_uring.h: 5.12 pending kernel sync * man/io_uring_register.2: fix spelling error * man/io_uring_register.2: Add documentation on IORING_REGISTER_FILES_SKIP * Add two ring deadlock case * Fix IORING_OP_FALLOCATE args in io_uring_enter(2) man page * src/queue: Fix a typo in `__io_uring_flush_sq()` * src/queue: fix `sq_ring_needs_enter()` indentation * src/queue: refactor io_uring_get_sqe() * man/io_uring_setup.2: correct 5.10 -> 5.11 for non-fixed files and SQPOLL * man/io_uring_enter.2: document new opcodes * man/io_uring_enter.2: ensure all IORING_ENTER_* flags are documented * src/queue: add comment on why reading SQ->head for flush isn't atomic * liburing.h: fix 32-bit compile warning * man/io_uring.7: Fix typo * man/io_uring_enter.2: describe timeout updates * Don't enter the kernel to wait on cqes if they are already available. * Add timeout update * remove zero-size array in io_uring.h * Rename SIG_IS_DATA -> EXT_ARG * Update SIG_IS_DATA to modified kernel API * Use IORING_ENTER_GETEVENTS_TIMEOUT if available * Add wrapper for __io_uring_get_cqe() * Add __sys_io_uring_enter2() * Include 'features' in struct io_uring * io_uring.h: update with 5.11-pending copy * Fix compilation with iso C standard (c89, c99 and c11) * examples: disable ucontext-cp if ucontext.h is not available * Moves function calls out of assert(). * liburing.h: add renameat/unlinkat prep helpers * io_uring.h: add renameat and unlinkat opcodes * configure: Fix unsafe temporary file creation * Add const modifier to functions that do not change the state of the ring * man/io_uring_enter.2: clarify POLL_ADD return value * Add get_sqe manpage to debian package * Add man page for io_uring_get_sqe * man/io_uring_enter.2: add EACCES and EBADFD errors * man/io_uring_register.2: add description of restrictions * man/io_uring_setup.2: add IORING_SETUP_R_DISABLED description * Makefile: add .PHONY dependency * man/io_uring_enter.2: split ERRORS section in two sections * liburing.h: add `io_uring_prep_tee` * Fix build flag settings * .gitignore: Add sq-poll-dup * man/io_uring_enter.2: clarify PROVIDE_BUFFERS requirements * Update packaging/installation for new man pages * man/io_uring.7: clarify submission/completion ordering * man/io_uring.7: style and barrier updates * Add man page for io_uring_queue_exit * Add man page for io_uring_queue_init * Adding section 7 man page for io_uring * probes: provide our own free function * .gitignore: add pipe-reuse * Fold versioned symbols into LIBURING_2.0 version node * Remove versioned symbols not provided by the shared library anymore * man/io_uring_setup.2: improve SQPOLL wakeup example * Fix io_uring_sq_ready() to use load acquire to read khead. * io_uring.h: fix missing tab * Bump major version to 2 * Add IORING_OP_SHUTDOWN and prep helper * Add a few function comments in liburing.h * Add io_uring_sqring_wait() * io_uring.h: add new definitions from 5.10 * man/io_uring_setup.2: document missing IORING_FEAT_* feature flags * man/io_uring_enter.2: add description of buffer selections * build: Output CXX on quiet output when using a C++ compiler * Fix missing 'c' in sigfd-deadlock addition * Add helper to enable rings * Add helper to register restrictions * io_uring.h: add register restrictions and enable ring defines * io_uring.h: use an enumeration for io_uring_register(2) opcodes * io_uring_prep_splice(): fix type (again) * Use the right type for io_uring_prep_splice() * syscall: make syscall.h independently includeable * sq_ring_needs_enter: revert change to only enter if submit != 0 * man/io_uring_setup.2: document IORING_SETUP_ATTACH_WQ * update debian/changelog * update debian/liburing1.symbols * debian/rules: pass down relativelibdir in order to get an absolute path * man/io_uring_setup.2: document IORING_SETUP_CLAMP * man/io_uring_enter: fix openat sqe doc ------------------------------------------------------------------- Sat Mar 13 20:15:42 UTC 2021 - Dirk Müller - update to 0.7: * io_uring.h: sync with kernel * io_uring_peek_batch_cqe should also check cq ring overflow * Check cq ring overflow status * configure: fix typos in help/error messages * src/setup: clarify that we always return -errno on error * man/io_uring_enter.2: updated io_uring_sqe and fixed incorrect flag references. * Removed misplaced periods from io_uring_enter(2). * Merge branch 'readme' of https://github.com/jobs-git/liburing * Make readme sensible * man/io_uring_enter: update connect to note use of const * Merge branch 'master' of https://github.com/KayEss/liburing * Take `sockaddr` immutably in io_uring_prep_connect * Merge branch 'dev' of https://github.com/CarterLi/liburing * Merge branch 'fix-splice-docs' of https://github.com/gerow/liburing * man: fix description of splice offsets * .travis.yml: Change the language from C to C++ * configure: Use $CC and $CXX as default compilers if set * Make the liburing header files again compatible with C++ * src/include/liburing/barrier.h: Restore clang compatibility * src/Makefile: Only specify -shared at link time * Merge branch 'openat_o_path' of https://github.com/MaxKellermann/liburing * Convert __io_uring_get_sqe() from a macro into an inline function * src/include/liburing/barrier.h: Use C11 atomics * Makefiles: Enable -Wextra * Bump version to 1.0.7 * change poll_events to 32 bits to cover EPOLLEXCLUSIVE * examples/ucontext-cp.c: use IORING_OP_TIMEOUT * man/io_uring_enter: correct the description of * man/io_uring_register.2: add IORING_CQ_EVENTFD_DISABLED description * Add helpers to set and get eventfd notification status * man/io_uring_setup.2: add 'flags' field in the struct io_cqring_offsets * Add CQ ring 'flags' field * remove duplicate call to __io_uring_peek_cqe() * update wait_nr to account for completed event * preseve wait_nr if SETUP_IOPOLL is set * man/io_uring_enter.2: add IORING_OP_TEE entry * update io_uring.h with tee() * Merge branch 'master' of https://github.com/shuveb/liburing * Adding section to describe IORING_OP_EPOLL_CTL * fix missing '#include ' in 'src/include/liburing.h * fix build on musl libc * Use uint64_t for splice offsets * Use __off64_t for offsets * Merge branch 'master' of https://github.com/shuveb/liburing * Adding description for the IORING_OP_SPLICE operation * Merge branch 'master' of https://github.com/shuveb/liburing * Adding section describing IORING_OP_OPENAT2 * Fix 32-bit warnings on compile * __io_uring_get_cqe: silence signed vs unsigned comparison warning * io_uring_get_sqe: always use khead ------------------------------------------------------------------- Fri Oct 30 21:42:16 UTC 2020 - Milan Savić !!IMPORTANT!! Version 0.7 BREAKS ABI COMPATIBILITY WITHOUT CHANGING THE SONAME!!! https://github.com/axboe/liburing/issues/228 SONAME is bumped to 2 in commit 25bbcbef3e0a8bfba8044be55d08d5116c51dccd im master branch. !!!IMPORTANT!!! - Update to version 0.6 - removed barrier.h-add-generic-smp_mb-implementation.patch since it was merged in commit ba97eaf8f9ef2030d581be10df9d875dbfadc91d - License changed to match upstream ------------------------------------------------------------------- Thu Dec 12 09:20:32 UTC 2019 - Johannes Thumshirn - Fix builds on ppc64le and s390x (bsc#1159055) + barrier.h-add-generic-smp_mb-implementation.patch ------------------------------------------------------------------- Wed Nov 27 08:18:20 UTC 2019 - Johannes Thumshirn - Initial packaging for openSUSE (jsc#SLE-7494)