Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package liburing for openSUSE:Factory checked in at 2025-04-10 21:57:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/liburing (Old) and /work/SRC/openSUSE:Factory/.liburing.new.1907 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "liburing" Thu Apr 10 21:57:16 2025 rev:30 rq:1268030 version:2.9 Changes: -------- --- /work/SRC/openSUSE:Factory/liburing/liburing.changes 2025-02-18 19:09:35.309703034 +0100 +++ /work/SRC/openSUSE:Factory/.liburing.new.1907/liburing.changes 2025-04-10 21:57:21.467863557 +0200 @@ -1,0 +2,27 @@ +Tue Apr 8 11:46:39 UTC 2025 - Guillaume GARDET <guillaume.gar...@opensuse.org> + +- Disable resize-rings.t as it is not very stable in OBS +- Disable timeout.t on Leap 15.6/15.7 +- Disable read-inc-file.t and timeout.t on Leap 16.0 + +------------------------------------------------------------------- +Fri Apr 4 08:32:20 UTC 2025 - Guillaume GARDET <guillaume.gar...@opensuse.org> + +- Add upstream patch to fix test on aarch64: + * 923961c.patch + +------------------------------------------------------------------- +Thu Apr 3 13:00:56 UTC 2025 - Guillaume GARDET <guillaume.gar...@opensuse.org> + +- Update to 2.9: + * Add support for ring resizing + * Add support for registered waits + * Test additions and improvements + * Fix bug with certain ring setups with SQE128 set not fully closing + the ring after io_uring_queue_exit(3) had been called. + * Various man page fixes and updates +- Remove upstreamed patches: + * 0001-test-init-mem-zero-the-ringbuf-memory.patch + * 0001-test-rsrc_tags-use-correct-buffer-index-for-test.patch + +------------------------------------------------------------------- Old: ---- 0001-test-init-mem-zero-the-ringbuf-memory.patch 0001-test-rsrc_tags-use-correct-buffer-index-for-test.patch liburing-2.8.tar.gz liburing-2.8.tar.gz.asc New: ---- 923961c.patch liburing-2.9.tar.gz liburing-2.9.tar.gz.asc BETA DEBUG BEGIN: Old:- Remove upstreamed patches: * 0001-test-init-mem-zero-the-ringbuf-memory.patch * 0001-test-rsrc_tags-use-correct-buffer-index-for-test.patch Old: * 0001-test-init-mem-zero-the-ringbuf-memory.patch * 0001-test-rsrc_tags-use-correct-buffer-index-for-test.patch BETA DEBUG END: BETA DEBUG BEGIN: New:- Add upstream patch to fix test on aarch64: * 923961c.patch BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ liburing.spec ++++++ --- /var/tmp/diff_new_pack.uiZeps/_old 2025-04-10 21:57:21.947883597 +0200 +++ /var/tmp/diff_new_pack.uiZeps/_new 2025-04-10 21:57:21.951883765 +0200 @@ -18,7 +18,7 @@ %define lname liburing2 Name: liburing -Version: 2.8 +Version: 2.9 Release: 0 Summary: Linux-native io_uring I/O access library License: (GPL-2.0-only AND LGPL-2.1-or-later) OR MIT @@ -27,8 +27,8 @@ Source0: https://brick.kernel.dk/snaps/%{name}-%{version}.tar.gz Source1: https://brick.kernel.dk/snaps/%{name}-%{version}.tar.gz.asc Source2: https://git.kernel.org/pub/scm/docs/kernel/pgpkeys.git/plain/keys/F7D358FB2971E0A6.asc#/%{name}.keyring -Patch0: 0001-test-init-mem-zero-the-ringbuf-memory.patch -Patch1: 0001-test-rsrc_tags-use-correct-buffer-index-for-test.patch +# PATCH-FIX-UPSTREAM - https://github.com/axboe/liburing/issues/1377 +Patch1: 923961c.patch BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: pkgconfig @@ -88,16 +88,16 @@ %make_build -C src %check -declare -a TEST_EXCLUDE=() +declare -a TEST_EXCLUDE=( resize-rings.t ) %if 0%{?sle_version} == 150500 TEST_EXCLUDE+=( fallocate.t fd-pass.t fixed-buf-merge.t msg-ring-overflow.t nop.t poll-race-mshot.t reg-hint.t sqwait.t wq-aff.t ) %endif %if 0%{?sle_version} == 150600 || 0%{?sle_version} == 150700 -TEST_EXCLUDE+=( accept-non-empty.t bind-listen.t fallocate.t nop.t recvsend_bundle.t recvsend_bundle-inc.t sqwait.t ) +TEST_EXCLUDE+=( accept-non-empty.t bind-listen.t fallocate.t nop.t recvsend_bundle.t recvsend_bundle-inc.t sqwait.t timeout.t ) %endif %if 0%{?suse_version} == 1600 -TEST_EXCLUDE+=( sqwait.t ) +TEST_EXCLUDE+=( read-inc-file.t sqwait.t timeout.t ) %endif %ifarch %{arm} ++++++ 0001-test-rsrc_tags-use-correct-buffer-index-for-test.patch -> 923961c.patch ++++++ --- /work/SRC/openSUSE:Factory/liburing/0001-test-rsrc_tags-use-correct-buffer-index-for-test.patch 2024-12-08 11:37:18.286056166 +0100 +++ /work/SRC/openSUSE:Factory/.liburing.new.1907/923961c.patch 2025-04-10 21:57:21.439862388 +0200 @@ -1,39 +1,53 @@ +From 923961c84c0acb166163a1e33bac127ab0559be6 Mon Sep 17 00:00:00 2001 From: Jens Axboe <ax...@kernel.dk> -Date: Sun, 27 Oct 2024 18:48:55 -0600 -Subject: test/rsrc_tags: use correct buffer index for test -References: fix-kernel-6.13 -Git-repo: https://github.com/axboe/liburing -Git-commit: 91eecf3a88aa7f72898c17b530d3873331cc1661 -Patch-mainline: 2.9 +Date: Thu, 3 Apr 2025 09:51:23 -0600 +Subject: [PATCH] test/pipe-bug: ignore -ENOMEM on ring creation -The test is reading from buffer 0, but updating buffer 1. It's expecting -buffer 1 not to be put until the per-ring state allows it, but with -per-node refs, this is no longer true. However what is true, is that if -we use the right buffer, then the ordering will be observed. - -Hence use buffer offset 1 for both the read and the update test, then -the test is actually testing what it should be testing. And it'll pass -without full buffer table pinning. +Since this test case sets up and tears down a ton of rings, this can +result in the deferred freeing/unaccounting causing spurious -ENOMEM +returns. This is expected if the system is configured to be tight on +locked memory (ulimit -l). If this happens, inject a small delay and +just have it retry. +Link: https://github.com/axboe/liburing/issues/1377 Signed-off-by: Jens Axboe <ax...@kernel.dk> -Signed-off-by: Jiri Slaby (SUSE) <jirisl...@kernel.org> --- - test/rsrc_tags.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + test/pipe-bug.c | 16 +++++++++++----- + 1 file changed, 11 insertions(+), 5 deletions(-) -diff --git a/test/rsrc_tags.c b/test/rsrc_tags.c -index 95f65e930ee5..e78cfe403bfb 100644 ---- a/test/rsrc_tags.c -+++ b/test/rsrc_tags.c -@@ -184,7 +184,7 @@ static int test_buffers_update(void) +diff --git a/test/pipe-bug.c b/test/pipe-bug.c +index 49e4a9412..c76134486 100644 +--- a/test/pipe-bug.c ++++ b/test/pipe-bug.c +@@ -24,20 +24,26 @@ do { \ + + static int pipe_bug(void) + { +- struct io_uring_params p; + struct io_uring ring; + struct io_uring_sqe *sqe; + struct io_uring_cqe *cqe; + char buf[1024]; +- int fds[2]; ++ int ret, fds[2]; + struct __kernel_timespec to = { + .tv_sec = 1 + }; + +- CHECK(pipe(fds) == 0); ++ ret = io_uring_queue_init(8, &ring, 0); ++ /* can hit -ENOMEM due to repeated ring creation and teardowns */ ++ if (ret == -ENOMEM) { ++ usleep(1000); ++ return 0; ++ } else if (ret) { ++ fprintf(stderr, "ring_init: %d\n", ret); ++ return 1; ++ } - /* test that CQE is not emitted before we're done with a buffer */ +- memset(&p, 0, sizeof(p)); +- CHECK(t_create_ring_params(8, &ring, &p) == 0); ++ CHECK(pipe(fds) == 0); + + /* WRITE */ sqe = io_uring_get_sqe(&ring); -- io_uring_prep_read_fixed(sqe, pipes[0], tmp_buf, 10, 0, 0); -+ io_uring_prep_read_fixed(sqe, pipes[0], tmp_buf, 10, 0, 1); - sqe->user_data = 100; - ret = io_uring_submit(&ring); - if (ret != 1) { --- -2.47.1 - ++++++ liburing-2.8.tar.gz -> liburing-2.9.tar.gz ++++++ ++++ 4851 lines of diff (skipped)