diff mbox series

[liburing] io_uring-udp: make more obvious what kernel version is required

Message ID 20220803155741.3668818-1-dylany@fb.com (mailing list archive)
State New
Headers show
Series [liburing] io_uring-udp: make more obvious what kernel version is required | expand

Commit Message

Dylan Yudaken Aug. 3, 2022, 3:57 p.m. UTC
This example uses some of the latest kernel features, which can be
confusing. Make this clear in the error messages from these features that
a latest kernel version is required.

Signed-off-by: Dylan Yudaken <dylany@fb.com>
---
 examples/io_uring-udp.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)


base-commit: 840d0a5d38f3f63ea7b3741c3e201485c6671015

Comments

Jens Axboe Aug. 5, 2022, 2:43 p.m. UTC | #1
On Wed, 3 Aug 2022 08:57:41 -0700, Dylan Yudaken wrote:
> This example uses some of the latest kernel features, which can be
> confusing. Make this clear in the error messages from these features that
> a latest kernel version is required.
> 
> 

Applied, thanks!

[1/1] io_uring-udp: make more obvious what kernel version is required
      commit: 2757d61fa222739f77b014810894b9ccea79d7f3

Best regards,
diff mbox series

Patch

diff --git a/examples/io_uring-udp.c b/examples/io_uring-udp.c
index b4ef0a301963..a07c3e2a6f20 100644
--- a/examples/io_uring-udp.c
+++ b/examples/io_uring-udp.c
@@ -73,7 +73,9 @@  static int setup_buffer_pool(struct ctx *ctx)
 
 	ret = io_uring_register_buf_ring(&ctx->ring, &reg, 0);
 	if (ret) {
-		fprintf(stderr, "buf_ring init: %s\n", strerror(-ret));
+		fprintf(stderr, "buf_ring init failed: %s\n"
+				"NB This requires a kernel version >= 6.0\n",
+				strerror(-ret));
 		return ret;
 	}
 
@@ -98,7 +100,9 @@  static int setup_context(struct ctx *ctx)
 
 	ret = io_uring_queue_init_params(QD, &ctx->ring, &params);
 	if (ret < 0) {
-		fprintf(stderr, "queue_init: %s\n", strerror(-ret));
+		fprintf(stderr, "queue_init failed: %s\n"
+				"NB: This requires a kernel version >= 6.0\n",
+				strerror(-ret));
 		return ret;
 	}
 
@@ -237,7 +241,10 @@  static int process_cqe_recv(struct ctx *ctx, struct io_uring_cqe *cqe,
 		return 0;
 
 	if (!(cqe->flags & IORING_CQE_F_BUFFER) || cqe->res < 0) {
-		fprintf(stderr, "bad res %d\n", cqe->res);
+		fprintf(stderr, "recv cqe bad res %d\n", cqe->res);
+		if (cqe->res == -EFAULT || cqe->res == -EINVAL)
+			fprintf(stderr,
+				"NB: This requires a kernel version >= 6.0\n");
 		return -1;
 	}
 	idx = cqe->flags >> 16;