MCPcopy Create free account
hub / github.com/axboe/liburing / provide_buffers_iovec

Function provide_buffers_iovec

test/read-write.c:495–527  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

493}
494
495static int provide_buffers_iovec(struct io_uring *ring, int bgid)
496{
497 struct io_uring_sqe *sqe;
498 struct io_uring_cqe *cqe;
499 int i, ret;
500
501 for (i = 0; i < BUFFERS; i++) {
502 sqe = io_uring_get_sqe(ring);
503 io_uring_prep_provide_buffers(sqe, vecs[i].iov_base,
504 vecs[i].iov_len, 1, bgid, i);
505 }
506
507 ret = io_uring_submit(ring);
508 if (ret != BUFFERS) {
509 fprintf(stderr, "submit: %d\n", ret);
510 return -1;
511 }
512
513 for (i = 0; i < BUFFERS; i++) {
514 ret = io_uring_wait_cqe(ring, &cqe);
515 if (ret) {
516 fprintf(stderr, "wait_cqe=%d\n", ret);
517 return 1;
518 }
519 if (cqe->res < 0) {
520 fprintf(stderr, "cqe->res=%d\n", cqe->res);
521 return 1;
522 }
523 io_uring_cqe_seen(ring, cqe);
524 }
525
526 return 0;
527}
528
529static int test_buf_select_pipe(void)
530{

Callers 4

test_buf_select_pipeFunction · 0.85
test_buf_selectFunction · 0.85
test_rem_bufFunction · 0.85
test_rem_buf_singleFunction · 0.85

Calls 2

io_uring_submitFunction · 0.85
io_uring_get_sqeFunction · 0.50

Tested by 4

test_buf_select_pipeFunction · 0.68
test_buf_selectFunction · 0.68
test_rem_bufFunction · 0.68
test_rem_buf_singleFunction · 0.68