Skip to content

Commit

Permalink
test/reg-wait: add registration helper
Browse files Browse the repository at this point in the history
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/defbcb4f286b62c04dedaab54a7e7d1de0ad33e7.1731792294.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
  • Loading branch information
isilence authored and axboe committed Nov 17, 2024
1 parent a2c742d commit 414c6a8
Showing 1 changed file with 34 additions and 22 deletions.
56 changes: 34 additions & 22 deletions test/reg-wait.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,37 @@ static int test_wait_reg_offset(struct io_uring *ring,
sizeof(struct io_uring_reg_wait));
}

static int __init_ring_with_region(struct io_uring *ring, unsigned ring_flags,
struct io_uring_mem_region_reg *pr,
bool disabled)
{
int flags = disabled ? IORING_SETUP_R_DISABLED : 0;
int ret;

ret = io_uring_queue_init(8, ring, flags);
if (ret) {
if (ret != -EINVAL)
fprintf(stderr, "ring setup failed: %d\n", ret);
return ret;
}

ret = io_uring_register_region(ring, pr);
if (ret)
goto err;

if (disabled) {
ret = io_uring_enable_rings(ring);
if (ret) {
fprintf(stderr, "io_uring_enable_rings failure %i\n", ret);
goto err;
}
}
return 0;
err:
io_uring_queue_exit(ring);
return ret;
}

static int page_size;
static struct io_uring_reg_wait *reg;

Expand Down Expand Up @@ -222,30 +253,11 @@ static int test_try_register_region(struct io_uring_mem_region_reg *pr,
bool disabled)
{
struct io_uring ring;
int flags = 0;
int ret;

if (disabled)
flags = IORING_SETUP_R_DISABLED;

ret = io_uring_queue_init(8, &ring, flags);
if (ret) {
if (ret != -EINVAL)
fprintf(stderr, "ring setup failed: %d\n", ret);
return ret;
}

ret = io_uring_register_region(&ring, pr);
if (ret)
goto err;

if (disabled) {
ret = io_uring_enable_rings(&ring);
if (ret)
fprintf(stderr, "io_uring_enable_rings failure %i\n", ret);
}
err:
io_uring_queue_exit(&ring);
ret = __init_ring_with_region(&ring, 0, pr, disabled);
if (!ret)
io_uring_queue_exit(&ring);
return ret;
}

Expand Down

0 comments on commit 414c6a8

Please sign in to comment.