liburing/liburing.changes

474 lines
21 KiB
Plaintext

-------------------------------------------------------------------
Thu Aug 8 10:21:50 UTC 2024 - Valentin Lefebvre <valentin.lefebvre@suse.com>
- Skip test buf-ring-nommap.t if ENOMEM appears (happens in ppc64le arch).
* test-buf-ring-nommap-skip-the-test-on-queue-init-ENO.patch
-------------------------------------------------------------------
Fri Jul 12 16:49:22 UTC 2024 - David Disseldorp <ddiss@suse.com>
- Fix buf-ring-nommap.t test failure
* test-buf-ring-nommap-zero-the-ringbuf-memory.patch
-------------------------------------------------------------------
Fri Jun 28 08:29:55 UTC 2024 - Jiri Slaby <jslaby@suse.cz>
- Update to 2.6:
* Add getsockopt and setsockopt socket commands
* Add test cases to test/hardlink
* Man page fixes
* Add futex support, and test cases
* Add waitid support, and test cases
* Add read multishot, and test cases
* Add support for IORING_SETUP_NO_SQARRAY
* Use IORING_SETUP_NO_SQARRAY as the default
* Add support for IORING_OP_FIXED_FD_INSTALL
* Add io_uring_prep_fixed_fd_install() helper
* Support for napi busy polling
* Improve/add test cases
* Man page fixes
* Add sample 'proxy' example
- Remove (they are upstream)
* test-no-mmap-inval-0-return-is-fine-too.patch
* test-recv-multishot-wait-for-the-right-amount-of-CQE.patch
- exclude buf-ring-nommap.t test (crashes)
-------------------------------------------------------------------
Wed Apr 3 08:40:14 UTC 2024 - Jiri Slaby <jslaby@suse.cz>
- Update to 2.5:
* Add support for io_uring_prep_cmd_sock()
* Add support for application allocated ring memory, for placing rings
in huge mem. Available through io_uring_queue_init_mem().
* Add support for registered ring fds
* Various documentation updates
* Various fixes
- Remove (they are upstream)
* test-io_uring_register-fix-errno-confusion-and-new-e.patch
* tests-don-t-expect-multishot-recv-overflow-backloggi.patch
- Add
* test-recv-multishot-wait-for-the-right-amount-of-CQE.patch (to fix test
errors on the 6.8.2 kernel)
* test-no-mmap-inval-0-return-is-fine-too.patch (fix the test)
-------------------------------------------------------------------
Mon Dec 4 16:39:29 UTC 2023 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Fix build on 32-bit x86
-------------------------------------------------------------------
Thu Nov 30 15:26:15 UTC 2023 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Make use of openSUSE build flags
-------------------------------------------------------------------
Fri Sep 15 05:28:44 UTC 2023 - Jiri Slaby <jslaby@suse.cz>
- tests-don-t-expect-multishot-recv-overflow-backloggi.patch (bsc#1215332)
-------------------------------------------------------------------
Thu Sep 14 08:37:29 UTC 2023 - Jiri Slaby <jslaby@suse.cz>
- build tests in parallel (using %{?_smp_mflags})
-------------------------------------------------------------------
Thu Aug 31 06:57:37 UTC 2023 - Jiri Slaby <jslaby@suse.cz>
- add test-io_uring_register-fix-errno-confusion-and-new-e.patch
to fix test errors on the 6.5 kernel
-------------------------------------------------------------------
Mon Jun 12 08:44:39 UTC 2023 - David Disseldorp <ddiss@suse.com>
- Update to 2.4:
* Add io_uring_{major,minor,check}_version() functions.
* Add IO_URING_{MAJOR,MINOR,CHECK}_VERSION() macros.
* FFI support (for non-C/C++ languages integration).
* Add io_uring_prep_msg_ring_cqe_flags() function.
* Deprecate --nolibc configure option.
* CONFIG_NOLIBC is always enabled on x86-64, x86, and aarch64.
* Add support for IORING_REGISTER_USE_REGISTERED_RING and use if available.
* Add io_uring_close_ring_fd() function.
* Add io_uring_prep_msg_ring_fd_alloc function.
* Add io_uring_free_buf_ring() and io_uring_setup_buf_ring() functions.
* Ensure that io_uring_prep_accept_direct(), io_uring_prep_openat_direct(),
io_uring_prep_openat2_direct(), io_uring_prep_msg_ring_fd(), and
io_uring_prep_socket_direct() factor in being called with
IORING_FILE_INDEX_ALLOC for allocating a direct descriptor.
* Add io_uring_prep_sendto() function.
- Add liburing-ffi2 package for corresponding FFI library, given that
dependents will normally require either that or the base library (not both).
- Drop upstream patches:
* 0001-Do-not-always-expect-multishot-recv-to-stop-posting-.patch
* 0001-test-file-verify.t-Don-t-run-over-mlock-limit-when-r.patch
* 0001-test-helpers-fix-socket-length-type.patch
-------------------------------------------------------------------
Thu Apr 20 20:26:32 UTC 2023 - Gabriel Krisman Bertazi <gabriel.bertazi@suse.com>
- 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 <jslaby@suse.cz>
- 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 <dmueller@suse.com>
- 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 <dmueller@suse.com>
- 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 <dmueller@suse.com>
- skip checks on qemu_linux_user builds
-------------------------------------------------------------------
Tue Aug 16 10:53:40 UTC 2022 - Jiri Slaby <jslaby@suse.cz>
- add test-xattr-don-t-rely-on-NUL-termination.patch (bsc#1202413)
-------------------------------------------------------------------
Fri Jul 8 12:40:13 UTC 2022 - Dirk Müller <dmueller@suse.com>
- add handle-eintr.patch, enable tests everywhere
-------------------------------------------------------------------
Wed Jun 29 11:28:10 UTC 2022 - Dirk Müller <dmueller@suse.com>
- enable tests for != ppc64le
-------------------------------------------------------------------
Tue Jun 28 13:40:10 UTC 2022 - Dirk Müller <dmueller@suse.com>
- 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 <dmueller@suse.com>
- avoid requiring kernel-default (bsc#1193522)
-------------------------------------------------------------------
Thu Feb 10 13:32:35 UTC 2022 - David Disseldorp <ddiss@suse.com>
- add explicit liburing2-devel alias to reflect SLE/LEAP 15.4+ naming
(bsc#1193522)
-------------------------------------------------------------------
Wed Oct 13 10:31:43 UTC 2021 - David Disseldorp <ddiss@suse.com>
- 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 <dmueller@suse.com>
- 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 <dmueller@suse.com>
- 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 <dmueller@suse.com>
- 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 <sys/stat.h>' 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ć <milsav92@outlook.com>
!!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 <jthumshirn@suse.com>
- 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 <jthumshirn@suse.com>
- Initial packaging for openSUSE (jsc#SLE-7494)