Accepting request 1036718 from home:dirkmueller:Factory

- 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

OBS-URL: https://build.opensuse.org/request/show/1036718
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/liburing?expand=0&rev=24
This commit is contained in:
Dirk Mueller 2023-01-20 22:51:30 +00:00 committed by Git OBS Bridge
parent 539647e863
commit 380a715503
6 changed files with 24 additions and 108 deletions

View File

@ -1,52 +0,0 @@
--- liburing-2.2/test/ce593a6c480a.c
+++ liburing-2.2/test/ce593a6c480a.c
@@ -111,15 +111,16 @@
(void*) (intptr_t) other_fd);
/* Wait on the event fd for an event to be ready */
- ret = read(loop_fd, buf, 8);
- if (ret < 0) {
- perror("read");
- return 1;
- } else if (ret != 8) {
- fprintf(stderr, "Odd-sized eventfd read: %d\n", ret);
- return 1;
- }
-
+ do {
+ ret = read(loop_fd, buf, 8);
+ if (ret < 0 && errno != EINTR) {
+ perror("read");
+ return 1;
+ } else if (ret > 0 && ret != 8) {
+ fprintf(stderr, "Odd-sized eventfd read: %d\n", ret);
+ return 1;
+ }
+ } while (ret < 0);
ret = io_uring_wait_cqe(&ring, &cqe);
if (ret) {
--- liburing-2.2/test/io-cancel.c
+++ liburing-2.2/test/io-cancel.c
@@ -366,10 +366,17 @@
} else {
int wstatus;
- if (waitpid(p, &wstatus, 0) == (pid_t)-1) {
- perror("waitpid()");
- return 1;
- }
+ do {
+ if (waitpid(p, &wstatus, 0) == (pid_t)-1) {
+ if (errno == EINTR) {
+ continue;
+ }
+ perror("waitpid()");
+ return 1;
+ }
+ break;
+ } while (1);
+
if (!WIFEXITED(wstatus) || WEXITSTATUS(wstatus)) {
fprintf(stderr, "child failed %i\n", WEXITSTATUS(wstatus));
return 1;

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0fcd25dc1eb32cbeb534219f8e7fcfeadbd8dc2304aa447148e5ca8408076f22
size 172733

3
liburing-2.3.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f242bd38777c79ee4e1169f817e08ce111b03e033ef9a1bde274d3196d4de36e
size 197929

View File

@ -1,3 +1,23 @@
-------------------------------------------------------------------
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>

View File

@ -18,19 +18,13 @@
%define lname liburing2
Name: liburing
Version: 2.2
Version: 2.3
Release: 0
Summary: Linux-native io_uring I/O access library
License: (GPL-2.0-only AND LGPL-2.1-or-later) OR MIT
Group: Development/Libraries/C and C++
URL: https://git.kernel.dk/cgit/liburing
Source: https://git.kernel.dk/cgit/liburing/snapshot/%{name}-%{version}.tar.bz2
# PATCH-FIX-UPSTREAM: has been accepted upstream
Patch0: test-xattr-don-t-rely-on-NUL-termination.patch
# PATCH-FIX-UPSTREAM: has been accepted upstream
# [1/1] Handle EINTR in tests
# commit: fa67f6aedcfdaffc14cbf0b631253477b2565ef0
Patch2: handle-eintr.patch
BuildRequires: gcc-c++
BuildRequires: pkgconfig
BuildRequires: procps

View File

@ -1,46 +0,0 @@
From: Jiri Slaby <jslaby@suse.cz>
Date: Tue, 16 Aug 2022 12:44:14 +0200
Subject: test/xattr: don't rely on NUL-termination
Patch-mainline: yes
Git-commit: bf3fedba890e66d644692910964fe1d8cbf4fb1b
References: bsc#1202413
The returned value from io_uring_fgetxattr() needs not be NUL-terminated,
as we stored non-NUL-terminated string by io_uring_fsetxattr()
previously.
So don't use strlen() on value, but on VALUE1, and VALUE2 respectively.
This fixes random test failures.
Cc: Stefan Roesch <shr@fb.com>
Fixes: d6515e06f73c ("liburing: Add new test program to verify xattr support")
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
test/xattr.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/test/xattr.c b/test/xattr.c
index d88059cb..101d82b3 100644
--- a/test/xattr.c
+++ b/test/xattr.c
@@ -210,14 +210,14 @@ static int test_fxattr(void)
/* Test reading attributes. */
value_len = io_uring_fgetxattr(&ring, fd, KEY1, value, XATTR_SIZE);
- if (value_len != strlen(value) || strncmp(value, VALUE1, value_len)) {
+ if (value_len != strlen(VALUE1) || strncmp(value, VALUE1, value_len)) {
fprintf(stderr, "Error: fgetxattr expected value: %s, returned value: %s\n", VALUE1, value);
rc = -1;
goto Exit;
}
value_len = io_uring_fgetxattr(&ring, fd, KEY2, value, XATTR_SIZE);
- if (value_len != strlen(value)|| strncmp(value, VALUE2, value_len)) {
+ if (value_len != strlen(VALUE2) || strncmp(value, VALUE2, value_len)) {
fprintf(stderr, "Error: fgetxattr expected value: %s, returned value: %s\n", VALUE2, value);
rc = -1;
goto Exit;
--
2.35.3