Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package liburing for openSUSE:Factory 
checked in at 2023-02-28 12:47:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/liburing (Old)
 and      /work/SRC/openSUSE:Factory/.liburing.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "liburing"

Tue Feb 28 12:47:46 2023 rev:14 rq:1067010 version:2.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/liburing/liburing.changes        2023-01-23 
18:30:35.399553348 +0100
+++ /work/SRC/openSUSE:Factory/.liburing.new.31432/liburing.changes     
2023-02-28 12:48:02.784248224 +0100
@@ -1,0 +2,6 @@
+Tue Feb 21 13:10:33 UTC 2023 - Jiri Slaby <jsl...@suse.cz>
+
+- add 0001-Do-not-always-expect-multishot-recv-to-stop-posting-.patch
+  fixes tests with kernel 6.2
+
+-------------------------------------------------------------------

New:
----
  0001-Do-not-always-expect-multishot-recv-to-stop-posting-.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ liburing.spec ++++++
--- /var/tmp/diff_new_pack.v7auSw/_old  2023-02-28 12:48:03.392252173 +0100
+++ /var/tmp/diff_new_pack.v7auSw/_new  2023-02-28 12:48:03.396252200 +0100
@@ -27,6 +27,7 @@
 Source:         
https://git.kernel.dk/cgit/liburing/snapshot/%{name}-%{version}.tar.bz2
 # PATCH-FIX-UPSTREAM: fix tests on big endian
 Patch1:         0001-test-helpers-fix-socket-length-type.patch
+Patch2:         0001-Do-not-always-expect-multishot-recv-to-stop-posting-.patch
 BuildRequires:  gcc-c++
 BuildRequires:  pkgconfig
 BuildRequires:  procps

++++++ 0001-Do-not-always-expect-multishot-recv-to-stop-posting-.patch ++++++
From: Dylan Yudaken <dyl...@meta.com>
Date: Mon, 7 Nov 2022 05:04:04 -0800
Subject: Do not always expect multishot recv to stop posting events
Patch-mainline: yes
Git-commit: 0d4fdb416718a70a4a90c5c4722b38cf44849195
References: kernel 6.2

Later kernels can have a fix that does not stop multishot from posting
events, and would just continue in overflow mode.

Signed-off-by: Dylan Yudaken <dyl...@meta.com>
Link: https://lore.kernel.org/r/20221107130404.360691-1-dyl...@meta.com
Signed-off-by: Jens Axboe <ax...@kernel.dk>
Signed-off-by: Jiri Slaby <jsl...@suse.cz>
---
 test/recv-multishot.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/test/recv-multishot.c b/test/recv-multishot.c
index 2cfe6898..ed26a5f7 100644
--- a/test/recv-multishot.c
+++ b/test/recv-multishot.c
@@ -264,11 +264,19 @@ static int test(struct args *args)
 
                bool const is_last = i == recv_cqes - 1;
 
+               /*
+                * Older kernels could terminate multishot early due to 
overflow,
+                * but later ones will not. So discriminate based on the MORE 
flag.
+                */
+               bool const early_last = args->early_error == 
ERROR_EARLY_OVERFLOW &&
+                                       !args->wait_each &&
+                                       i == N_CQE_OVERFLOW &&
+                                       !(cqe->flags & IORING_CQE_F_MORE);
+
                bool const should_be_last =
                        (cqe->res <= 0) ||
                        (args->stream && is_last) ||
-                       (args->early_error == ERROR_EARLY_OVERFLOW &&
-                        !args->wait_each && i == N_CQE_OVERFLOW);
+                       early_last;
                int *this_recv;
                int orig_payload_size = cqe->res;
 
-- 
2.35.3

Reply via email to