Provided by: liburing-dev_2.2-2_amd64 bug

NAME

       io_uring_register_buffers - register buffers for fixed buffer operations

SYNOPSIS

       #include <liburing.h>

       int io_uring_register_buffers(struct io_uring *ring,
                                     const struct iovec *iovecs,
                                     unsigned nr_iovecs);

       int io_uring_register_buffers_sparse(struct io_uring *ring,
                                     unsigned nr_iovecs);

DESCRIPTION

       The io_uring_register_buffers(3) function registers nr_iovecs number of buffers defined by
       the array iovecs belonging to the ring.

       The  io_uring_register_buffers_sparse(3)  function  registers  nr_iovecs   empty   buffers
       belonging   to   the   ring.    These  buffers  must  be  updated  before  use,  using  eg
       io_uring_register_buffers_update_tag(3).

       After the caller has registered the buffers, they can  be  used  with  one  of  the  fixed
       buffers functions.

       Registered  buffers  is  an optimization that is useful in conjunction with O_DIRECT reads
       and writes, where it maps the specified range into the kernel  once  when  the  buffer  is
       registered  rather  than  doing  a map and unmap for each IO every time IO is performed to
       that region. Additionally, it also avoids manipulating the page reference counts for  each
       IO.

RETURN VALUE

       On  success io_uring_register_buffers(3) and io_uring_register_buffers_sparse(3) return 0.
       On failure they return -errno.

SEE ALSO

       io_uring_get_sqe(3),    io_uring_unregister_buffers(3),     io_uring_register_buf_ring(3),
       io_uring_prep_read_fixed(3), io_uring_prep_write_fixed(3)