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

NAME

       io_uring_prep_renameat - prepare a renameat request

SYNOPSIS

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

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

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

DESCRIPTION

       The  io_uring_prep_renameat(3)  function  prepares  a renameat 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_rename(3) function prepares a rename request. The submission queue entry sqe  is  setup
       to  use  the old path pointed to by oldpath with 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 renameat2(2) or rename(2) request. If flags is zero, then this  call  is
       similar to the renameat(2) system call. 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), renameat(2), renameat2(2), rename(2)

liburing-2.2                                     March 13, 2022                        io_uring_prep_renameat(3)