From patchwork Mon Aug 29 03:07:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ammar Faizi X-Patchwork-Id: 12957410 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6486FC0502A for ; Mon, 29 Aug 2022 03:08:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229778AbiH2DIS (ORCPT ); Sun, 28 Aug 2022 23:08:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41630 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229768AbiH2DIP (ORCPT ); Sun, 28 Aug 2022 23:08:15 -0400 Received: from gnuweeb.org (gnuweeb.org [51.81.211.47]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 27F3E3DF30; Sun, 28 Aug 2022 20:08:01 -0700 (PDT) Received: from localhost.localdomain (unknown [182.2.68.216]) by gnuweeb.org (Postfix) with ESMTPSA id 1127A80B16; Mon, 29 Aug 2022 03:07:52 +0000 (UTC) X-GW-Data: lPqxHiMPbJw1wb7CM9QUryAGzr0yq5atzVDdxTR0iA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gnuweeb.org; s=default; t=1661742475; bh=VlX7C/9ehX4QyKg5QD8GEmv081Be7gwIp1s3dgH//yY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=o64f1A3MlidJp35tF/cMKXgBgL2Vaj5V4SWmqMedI8qKaUwtkxe8EEDT4eXLeVchY bGw7WbvnfxZGNHdeepaHpkmHoU5QZPFJ6kSr5yAoozKYZgTnnS/iCRj2adDq0RMtkj /Sdd9eGMdDUyYWefiEnASTHCX8F9dod+1sD/SerSgiOhAaFZyCjpOREZqviy3kMHb0 gpE3dK3UR3e4/tHmIo6wgp54iZQ048dXNBpurBzN34WHDQk/M8mgeO2b9n0zoXgQwC IMS/fOOJI7BEEE3/NSedv5J720kYdxypGok4OQSDRuKN98Z6Bs8DTL9CD7D/TBhtWQ RbBEslJiy9enA== From: Ammar Faizi To: Jens Axboe Cc: Ammar Faizi , Caleb Sander , Muhammad Rizki , Kanna Scarlet , io-uring Mailing List , Linux Kernel Mailing List , GNU/Weeb Mailing List Subject: [RFC PATCH liburing v1 1/4] syscall: Add io_uring syscall functions Date: Mon, 29 Aug 2022 10:07:36 +0700 Message-Id: <20220829030521.3373516-2-ammar.faizi@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220829030521.3373516-1-ammar.faizi@intel.com> References: <20220829030521.3373516-1-ammar.faizi@intel.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: io-uring@vger.kernel.org From: Ammar Faizi We have: man 2 io_uring_setup; man 2 io_uring_enter; man 2 io_uring_register; Those entries say that io_uring syscall functions are declared in ``. But they don't actually exist and never existed. This is causing confusion for people who read the manpage. Let's just implement them in liburing so they exist. This also allows the user to invoke io_uring syscalls directly instead of using the full liburing provided setup. Link: https://github.com/axboe/liburing/pull/646#issuecomment-1229639532 Cc: Caleb Sander Signed-off-by: Ammar Faizi Reviewed-by: Caleb Sander --- src/Makefile | 2 +- src/include/liburing.h | 8 ++++++++ src/liburing.map | 4 ++++ src/syscall.c | 30 ++++++++++++++++++++++++++++++ 4 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 src/syscall.c diff --git a/src/Makefile b/src/Makefile index dad379d..73a98ba 100644 --- a/src/Makefile +++ b/src/Makefile @@ -32,7 +32,7 @@ endif all: $(all_targets) -liburing_srcs := setup.c queue.c register.c +liburing_srcs := setup.c queue.c register.c syscall.c ifeq ($(CONFIG_NOLIBC),y) liburing_srcs += nolibc.c diff --git a/src/include/liburing.h b/src/include/liburing.h index 66c5095..7db1ea9 100644 --- a/src/include/liburing.h +++ b/src/include/liburing.h @@ -202,6 +202,14 @@ int io_uring_register_file_alloc_range(struct io_uring *ring, int io_uring_register_notifications(struct io_uring *ring, unsigned nr, struct io_uring_notification_slot *slots); int io_uring_unregister_notifications(struct io_uring *ring); +int io_uring_enter(unsigned int fd, unsigned int to_submit, + unsigned int min_complete, unsigned int flags, + sigset_t *sig); +int io_uring_enter2(int fd, unsigned to_submit, unsigned min_complete, + unsigned flags, sigset_t *sig, int sz); +int io_uring_setup(unsigned entries, struct io_uring_params *p); +int io_uring_register(int fd, unsigned opcode, const void *arg, + unsigned nr_args); /* * Helper for the peek/wait single cqe functions. Exported because of that, diff --git a/src/liburing.map b/src/liburing.map index 7d8f143..8573dfc 100644 --- a/src/liburing.map +++ b/src/liburing.map @@ -62,4 +62,8 @@ LIBURING_2.3 { io_uring_register_file_alloc_range; io_uring_register_notifications; io_uring_unregister_notifications; + io_uring_enter; + io_uring_enter2; + io_uring_setup; + io_uring_register; } LIBURING_2.2; diff --git a/src/syscall.c b/src/syscall.c new file mode 100644 index 0000000..fcc6808 --- /dev/null +++ b/src/syscall.c @@ -0,0 +1,30 @@ +/* SPDX-License-Identifier: MIT */ + +#include "lib.h" +#include "syscall.h" +#include + +int io_uring_enter(unsigned int fd, unsigned int to_submit, + unsigned int min_complete, unsigned int flags, + sigset_t *sig) +{ + return __sys_io_uring_enter(fd, to_submit, min_complete, flags, sig); +} + +int io_uring_enter2(int fd, unsigned to_submit, unsigned min_complete, + unsigned flags, sigset_t *sig, int sz) +{ + return __sys_io_uring_enter2(fd, to_submit, min_complete, flags, sig, + sz); +} + +int io_uring_setup(unsigned entries, struct io_uring_params *p) +{ + return __sys_io_uring_setup(entries, p); +} + +int io_uring_register(int fd, unsigned opcode, const void *arg, + unsigned nr_args) +{ + return __sys_io_uring_register(fd, opcode, arg, nr_args); +} From patchwork Mon Aug 29 03:07:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ammar Faizi X-Patchwork-Id: 12957411 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A1042ECAAA2 for ; Mon, 29 Aug 2022 03:08:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229770AbiH2DIi (ORCPT ); Sun, 28 Aug 2022 23:08:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41910 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229786AbiH2DIY (ORCPT ); Sun, 28 Aug 2022 23:08:24 -0400 Received: from gnuweeb.org (gnuweeb.org [51.81.211.47]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 141EF3ECDF; Sun, 28 Aug 2022 20:08:06 -0700 (PDT) Received: from localhost.localdomain (unknown [182.2.68.216]) by gnuweeb.org (Postfix) with ESMTPSA id 237D280B1A; Mon, 29 Aug 2022 03:07:55 +0000 (UTC) X-GW-Data: lPqxHiMPbJw1wb7CM9QUryAGzr0yq5atzVDdxTR0iA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gnuweeb.org; s=default; t=1661742478; bh=ivRuXH0B3moNqjOeBRddyAEgMfDZLseE8xHqimkLSzw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SnVr8pfap+KMag0EwUAcZvK37dpAYosZgdNjT/f6VBMnFqvp2jLLxM6p109CKyT/f irZY0E07TiRlZacarpNfe90b22sk0uMFSXRWof7RocUzLwLu+t7OtqTynIKSMHnAaA Pm98zLlA8/O9MBv3CTdkG8nkbQBkvp+T8EqwPw0POpMRZaI3OcCAsTD1T4pw70OKBM oc4u0vRGufHPz+GvmTnnfR3bJOy0CuSxsYIC+4CteEwuj3Rj7G4O7hosTSj6qOdqYq zWWP2ofTY7xAlc/YPVpkt90joDawe/IdevvOX/UfOg40eojqUxQcfVEJkdSd5bO0B1 CwHSwEXweHgTQ== From: Ammar Faizi To: Jens Axboe Cc: Ammar Faizi , Caleb Sander , Muhammad Rizki , Kanna Scarlet , io-uring Mailing List , Linux Kernel Mailing List , GNU/Weeb Mailing List Subject: [RFC PATCH liburing v1 2/4] man: Clarify "man 2" entry for io_uring syscalls Date: Mon, 29 Aug 2022 10:07:37 +0700 Message-Id: <20220829030521.3373516-3-ammar.faizi@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220829030521.3373516-1-ammar.faizi@intel.com> References: <20220829030521.3373516-1-ammar.faizi@intel.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: io-uring@vger.kernel.org From: Ammar Faizi io_uring_enter(), io_uring_register(), io_uring_setup() are not declared in `` and never were. Plus, these functions don't intentionally set the `errno` variable. Reflect this fact in the manpage. Side note: On architectures other than x86, x86-64, and aarch64, those functions _do_ set the `errno`, this is because the syscall is done via libc as we don't yet have nolibc support for the mentioned archs. Users should not rely on this behavior. Cc: Caleb Sander Signed-off-by: Ammar Faizi --- man/io_uring_enter.2 | 9 ++++----- man/io_uring_register.2 | 9 ++++----- man/io_uring_setup.2 | 8 +++----- 3 files changed, 11 insertions(+), 15 deletions(-) diff --git a/man/io_uring_enter.2 b/man/io_uring_enter.2 index 6bfe9c9..05f9f72 100644 --- a/man/io_uring_enter.2 +++ b/man/io_uring_enter.2 @@ -8,7 +8,7 @@ io_uring_enter \- initiate and/or complete asynchronous I/O .SH SYNOPSIS .nf -.BR "#include " +.BR "#include " .PP .BI "int io_uring_enter(unsigned int " fd ", unsigned int " to_submit , .BI " unsigned int " min_complete ", unsigned int " flags , @@ -1299,11 +1299,10 @@ completion queue entry (see section rather than through the system call itself. Errors that occur not on behalf of a submission queue entry are returned via the -system call directly. On such an error, -.B -1 -is returned and +system call directly. On such an error, a negative error code is returned. The +caller should not rely on .I errno -is set appropriately. +variable. .PP .SH ERRORS These are the errors returned by diff --git a/man/io_uring_register.2 b/man/io_uring_register.2 index 6c440b9..6791375 100644 --- a/man/io_uring_register.2 +++ b/man/io_uring_register.2 @@ -8,7 +8,7 @@ io_uring_register \- register files or user buffers for asynchronous I/O .SH SYNOPSIS .nf -.BR "#include " +.BR "#include " .PP .BI "int io_uring_register(unsigned int " fd ", unsigned int " opcode , .BI " void *" arg ", unsigned int " nr_args ); @@ -583,11 +583,10 @@ Available since 5.18. On success, .BR io_uring_register () -returns 0. On error, -.B -1 -is returned, and +returns 0. On error, a negative error code is returned. The caller should not +rely on .I errno -is set accordingly. +variable. .SH ERRORS .TP diff --git a/man/io_uring_setup.2 b/man/io_uring_setup.2 index 0a5fa92..32a9e2e 100644 --- a/man/io_uring_setup.2 +++ b/man/io_uring_setup.2 @@ -9,7 +9,7 @@ io_uring_setup \- setup a context for performing asynchronous I/O .SH SYNOPSIS .nf -.BR "#include " +.BR "#include " .PP .BI "int io_uring_setup(u32 " entries ", struct io_uring_params *" p ); .fi @@ -566,11 +566,9 @@ or .BR io_uring_enter (2) system calls. -On error, -.B -1 -is returned and +On error, a negative error code is returned. The caller should not rely on .I errno -is set appropriately. +variable. .PP .SH ERRORS .TP From patchwork Mon Aug 29 03:07:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ammar Faizi X-Patchwork-Id: 12957412 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id F3BF1C0502F for ; Mon, 29 Aug 2022 03:08:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229773AbiH2DIk (ORCPT ); Sun, 28 Aug 2022 23:08:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42160 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229808AbiH2DIb (ORCPT ); Sun, 28 Aug 2022 23:08:31 -0400 Received: from gnuweeb.org (gnuweeb.org [51.81.211.47]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 649963ECC8; Sun, 28 Aug 2022 20:08:20 -0700 (PDT) Received: from localhost.localdomain (unknown [182.2.68.216]) by gnuweeb.org (Postfix) with ESMTPSA id 094AE80B11; Mon, 29 Aug 2022 03:07:58 +0000 (UTC) X-GW-Data: lPqxHiMPbJw1wb7CM9QUryAGzr0yq5atzVDdxTR0iA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gnuweeb.org; s=default; t=1661742481; bh=SJyjDYyBoXZYMkiEKyI9duAVBN/pZrSeFntJlaGszDc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gwekcET9EqL1L9NEGMfYp16jvfi3VpuSluLXOmVGq97uPtSRKy3fU3cZri2Jtec7J vIdhc+iLGIKrQtk+jFK0nxrvCaAQFIAEfQfROuaMSDZoILmlFfZH7TJXhHAcdcdsxQ kXtFJlICe4qCZXr4JOf/OkvxvYRdWfHQdcGvdzoKeo+UvPuNoWKJ3uhbNiG7hLrW6o krf14hOgI+on2FQAYzrPhhTDjTCeDk9uIGsR16QydCjRVOPh58DmoaulsoM1AFOV5+ kHSY/IN/O8fO1ru+ph3J4savkPG7oyHoSlSzgTBfg6rMYuOXK4KZcS55AoaJ5x4rxd HFeM6k/AFAlUw== From: Ammar Faizi To: Jens Axboe Cc: Ammar Faizi , Caleb Sander , Muhammad Rizki , Kanna Scarlet , io-uring Mailing List , Linux Kernel Mailing List , GNU/Weeb Mailing List Subject: [RFC PATCH liburing v1 3/4] man: Alias `io_uring_enter2()` to `io_uring_enter()` Date: Mon, 29 Aug 2022 10:07:38 +0700 Message-Id: <20220829030521.3373516-4-ammar.faizi@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220829030521.3373516-1-ammar.faizi@intel.com> References: <20220829030521.3373516-1-ammar.faizi@intel.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: io-uring@vger.kernel.org From: Ammar Faizi We have a new function io_uring_enter2(), add the man page entry for it by aliasing it to io_uring_enter(). This aliased man entry has already explained it. Cc: Caleb Sander Signed-off-by: Ammar Faizi --- man/io_uring_enter2.2 | 1 + 1 file changed, 1 insertion(+) create mode 120000 man/io_uring_enter2.2 diff --git a/man/io_uring_enter2.2 b/man/io_uring_enter2.2 new file mode 120000 index 0000000..5566c09 --- /dev/null +++ b/man/io_uring_enter2.2 @@ -0,0 +1 @@ +io_uring_enter.2 \ No newline at end of file From patchwork Mon Aug 29 03:07:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ammar Faizi X-Patchwork-Id: 12957413 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1A037ECAAA2 for ; Mon, 29 Aug 2022 03:09:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229892AbiH2DI6 (ORCPT ); Sun, 28 Aug 2022 23:08:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41750 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229771AbiH2DIi (ORCPT ); Sun, 28 Aug 2022 23:08:38 -0400 Received: from gnuweeb.org (gnuweeb.org [51.81.211.47]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A62543E751; Sun, 28 Aug 2022 20:08:29 -0700 (PDT) Received: from localhost.localdomain (unknown [182.2.68.216]) by gnuweeb.org (Postfix) with ESMTPSA id F2F4780B02; Mon, 29 Aug 2022 03:08:01 +0000 (UTC) X-GW-Data: lPqxHiMPbJw1wb7CM9QUryAGzr0yq5atzVDdxTR0iA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gnuweeb.org; s=default; t=1661742484; bh=Z7kyL4CPsonKNtyPyqtiWRmBHktsZUsNF8lJjZBwrNs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=PDVfYCXmPmtSGtGj0BMvWCnefkUGPjdqFfqt8IYLlecg1BDuHlLsLeJzdM+u5OHsx GYeiQX5bEN9FMJ3Itg0qV3x6BGEv3OvWaPhoIBDvcg8MCxVzohBWjKKrTgCh3K+kho rStT1NdDVHxc6SwWvykGXxLXF8/DzovRkGCmf6Jxf42IY4UqK7XmIsY7ycHDMpDrbZ zQuGTBbxc1eY26ffswl0xXXehVpn47RWZzaDhRyTgo64i4fgefF5lihBK+labrIPYW Gv/HnHDG/c6OqC16lm9EktExfN7CqNkq6uj8NO1B2KHuL5Cho/v4OrK6SVAOL1gSeZ fuaPoRb22dCmw== From: Ammar Faizi To: Jens Axboe Cc: Ammar Faizi , Caleb Sander , Muhammad Rizki , Kanna Scarlet , io-uring Mailing List , Linux Kernel Mailing List , GNU/Weeb Mailing List Subject: [RFC PATCH liburing v1 4/4] test/io_uring_{enter,setup,register}: Use the exported syscall functions Date: Mon, 29 Aug 2022 10:07:39 +0700 Message-Id: <20220829030521.3373516-5-ammar.faizi@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220829030521.3373516-1-ammar.faizi@intel.com> References: <20220829030521.3373516-1-ammar.faizi@intel.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: io-uring@vger.kernel.org From: Ammar Faizi These tests use the internal definition of __sys_io_uring* functions. A previous commit exported new functions that do the same thing with those __sys_io_uring* functions. Test the exported functions instead of the internal functions. No functional change is intended. Cc: Caleb Sander Signed-off-by: Ammar Faizi Reviewed-by: Caleb Sander --- test/io_uring_enter.c | 10 +++++----- test/io_uring_register.c | 34 ++++++++++++++++------------------ test/io_uring_setup.c | 4 ++-- 3 files changed, 23 insertions(+), 25 deletions(-) diff --git a/test/io_uring_enter.c b/test/io_uring_enter.c index 67cc8c5..ecd54ff 100644 --- a/test/io_uring_enter.c +++ b/test/io_uring_enter.c @@ -38,7 +38,7 @@ static int expect_fail(int fd, unsigned int to_submit, { int ret; - ret = __sys_io_uring_enter(fd, to_submit, min_complete, flags, sig); + ret = io_uring_enter(fd, to_submit, min_complete, flags, sig); if (ret >= 0) { fprintf(stderr, "expected %s, but call succeeded\n", strerror(-error)); return 1; @@ -62,7 +62,7 @@ static int try_io_uring_enter(int fd, unsigned int to_submit, return expect_fail(fd, to_submit, min_complete, flags, sig, expect); - ret = __sys_io_uring_enter(fd, to_submit, min_complete, flags, sig); + ret = io_uring_enter(fd, to_submit, min_complete, flags, sig); if (ret != expect) { fprintf(stderr, "Expected %d, got %d\n", expect, ret); return 1; @@ -211,8 +211,8 @@ int main(int argc, char **argv) /* fill the sq ring */ sq_entries = ring.sq.ring_entries; submit_io(&ring, sq_entries); - ret = __sys_io_uring_enter(ring.ring_fd, 0, sq_entries, - IORING_ENTER_GETEVENTS, NULL); + ret = io_uring_enter(ring.ring_fd, 0, sq_entries, + IORING_ENTER_GETEVENTS, NULL); if (ret < 0) { fprintf(stderr, "io_uring_enter: %s\n", strerror(-ret)); status = 1; @@ -246,7 +246,7 @@ int main(int argc, char **argv) */ io_uring_smp_store_release(sq->ktail, ktail); - ret = __sys_io_uring_enter(ring.ring_fd, 1, 0, 0, NULL); + ret = io_uring_enter(ring.ring_fd, 1, 0, 0, NULL); /* now check to see if our sqe was dropped */ if (*sq->kdropped == dropped) { fprintf(stderr, "dropped counter did not increase\n"); diff --git a/test/io_uring_register.c b/test/io_uring_register.c index 4609354..dd4af7c 100644 --- a/test/io_uring_register.c +++ b/test/io_uring_register.c @@ -36,17 +36,17 @@ static int expect_fail(int fd, unsigned int opcode, void *arg, { int ret; - ret = __sys_io_uring_register(fd, opcode, arg, nr_args); + ret = io_uring_register(fd, opcode, arg, nr_args); if (ret >= 0) { int ret2 = 0; fprintf(stderr, "expected %s, but call succeeded\n", strerror(error)); if (opcode == IORING_REGISTER_BUFFERS) { - ret2 = __sys_io_uring_register(fd, - IORING_UNREGISTER_BUFFERS, 0, 0); + ret2 = io_uring_register(fd, IORING_UNREGISTER_BUFFERS, + 0, 0); } else if (opcode == IORING_REGISTER_FILES) { - ret2 = __sys_io_uring_register(fd, - IORING_UNREGISTER_FILES, 0, 0); + ret2 = io_uring_register(fd, IORING_UNREGISTER_FILES, 0, + 0); } if (ret2) { fprintf(stderr, "internal error: failed to unregister\n"); @@ -66,7 +66,7 @@ static int new_io_uring(int entries, struct io_uring_params *p) { int fd; - fd = __sys_io_uring_setup(entries, p); + fd = io_uring_setup(entries, p); if (fd < 0) { perror("io_uring_setup"); exit(1); @@ -186,15 +186,14 @@ static int test_max_fds(int uring_fd) */ nr_fds = UINT_MAX; while (nr_fds) { - ret = __sys_io_uring_register(uring_fd, IORING_REGISTER_FILES, - fd_as, nr_fds); + ret = io_uring_register(uring_fd, IORING_REGISTER_FILES, fd_as, + nr_fds); if (ret != 0) { nr_fds /= 2; continue; } status = 0; - ret = __sys_io_uring_register(uring_fd, IORING_UNREGISTER_FILES, - 0, 0); + ret = io_uring_register(uring_fd, IORING_UNREGISTER_FILES, 0, 0); if (ret < 0) { ret = errno; errno = ret; @@ -230,7 +229,7 @@ static int test_memlock_exceeded(int fd) iov.iov_base = buf; while (iov.iov_len) { - ret = __sys_io_uring_register(fd, IORING_REGISTER_BUFFERS, &iov, 1); + ret = io_uring_register(fd, IORING_REGISTER_BUFFERS, &iov, 1); if (ret < 0) { if (errno == ENOMEM) { iov.iov_len /= 2; @@ -244,8 +243,7 @@ static int test_memlock_exceeded(int fd) free(buf); return 1; } - ret = __sys_io_uring_register(fd, IORING_UNREGISTER_BUFFERS, - NULL, 0); + ret = io_uring_register(fd, IORING_UNREGISTER_BUFFERS, NULL, 0); if (ret != 0) { fprintf(stderr, "error: unregister failed with %d\n", errno); free(buf); @@ -283,14 +281,14 @@ static int test_iovec_nr(int fd) /* reduce to UIO_MAXIOV */ nr = UIO_MAXIOV; - ret = __sys_io_uring_register(fd, IORING_REGISTER_BUFFERS, iovs, nr); + ret = io_uring_register(fd, IORING_REGISTER_BUFFERS, iovs, nr); if (ret && (errno == ENOMEM || errno == EPERM) && geteuid()) { fprintf(stderr, "can't register large iovec for regular users, skip\n"); } else if (ret != 0) { fprintf(stderr, "expected success, got %d\n", errno); status = 1; } else { - __sys_io_uring_register(fd, IORING_UNREGISTER_BUFFERS, 0, 0); + io_uring_register(fd, IORING_UNREGISTER_BUFFERS, 0, 0); } free(buf); free(iovs); @@ -344,7 +342,7 @@ static int test_iovec_size(int fd) */ iov.iov_base = buf; iov.iov_len = 2*1024*1024; - ret = __sys_io_uring_register(fd, IORING_REGISTER_BUFFERS, &iov, 1); + ret = io_uring_register(fd, IORING_REGISTER_BUFFERS, &iov, 1); if (ret < 0) { if (ret == -ENOMEM) printf("Unable to test registering of a huge " @@ -356,8 +354,8 @@ static int test_iovec_size(int fd) status = 1; } } else { - ret = __sys_io_uring_register(fd, - IORING_UNREGISTER_BUFFERS, 0, 0); + ret = io_uring_register(fd, IORING_UNREGISTER_BUFFERS, + 0, 0); if (ret < 0) { fprintf(stderr, "io_uring_unregister: %s\n", strerror(-ret)); diff --git a/test/io_uring_setup.c b/test/io_uring_setup.c index 67d5f4f..d945421 100644 --- a/test/io_uring_setup.c +++ b/test/io_uring_setup.c @@ -102,7 +102,7 @@ try_io_uring_setup(unsigned entries, struct io_uring_params *p, int expect) { int ret; - ret = __sys_io_uring_setup(entries, p); + ret = io_uring_setup(entries, p); if (ret != expect) { fprintf(stderr, "expected %d, got %d\n", expect, ret); /* if we got a valid uring, close it */ @@ -164,7 +164,7 @@ main(int argc, char **argv) /* read/write on io_uring_fd */ memset(&p, 0, sizeof(p)); - fd = __sys_io_uring_setup(1, &p); + fd = io_uring_setup(1, &p); if (fd < 0) { fprintf(stderr, "io_uring_setup failed with %d, expected success\n", -fd);