Provided by: liburing-dev_2.5-1build1_amd64 bug

NAME

       io_uring_prep_linkat - prepare a linkat request

SYNOPSIS

       #include <fcntl.h>
       #include <unistd.h>
       #include <liburing.h>

       void io_uring_prep_linkat(struct io_uring_sqe *sqe,
                                 int olddirfd,
                                 const char *oldpath,
                                 int newdirfd,
                                 const char *newpath,
                                 int flags);

       void io_uring_prep_link(struct io_uring_sqe *sqe,
                               const char *oldpath,
                               const char *newpath,
                               int flags);

DESCRIPTION

       The  io_uring_prep_linkat(3)  function prepares a linkat request. The submission queue entry sqe is setup
       to use the old directory file descriptor pointed to by olddirfd and old path pointed to by  oldpath  with
       the new directory file descriptor pointed to by newdirfd and the new path pointed to by newpath and using
       the specified flags in flags.

       The  io_uring_prep_link(3)  function  prepares a link request. The submission queue entry sqe is setup to
       use the old path pointed to by oldpath and the new path pointed to  by  newpath,  both  relative  to  the
       current working directory and using the specified flags in flags.

       These functions prepare an async linkat(2) or link(2) request. See those man pages for details.

RETURN VALUE

       None

ERRORS

       The  CQE  res  field  will  contain  the result of the operation. See the related man page for details on
       possible values. Note that where synchronous system calls will return -1 on failure and set errno to  the
       actual  error value, io_uring never uses errno.  Instead it returns the negated errno directly in the CQE
       res field.

NOTES

       As with any request that passes in data in a struct, that data must remain valid until  the  request  has
       been  successfully  submitted.  It  need  not  remain  valid  until  completion.  Once a request has been
       submitted, the in-kernel state is stable. Very early kernels (5.4  and  earlier)  required  state  to  be
       stable  until  the  completion  occurred.  Applications  can  test  for  this  behavior by inspecting the
       IORING_FEAT_SUBMIT_STABLE flag passed back from io_uring_queue_init_params(3).

SEE ALSO

       io_uring_get_sqe(3), io_uring_submit(3), linkat(2), link(2)

liburing-2.2                                     March 13, 2022                          io_uring_prep_linkat(3)