Man Linux: Main Page and Category List

NAME

       io_prep_fsync  -  Synchronize a file’s complete in-core state with that
       on disk

SYNOPSYS

       #include <errno.h>

       #include <libaio.h>

       static inline void io_prep_fsync(struct iocb *iocb, int fd);

       struct iocb {
            void      *data;
            unsigned  key;
            short          aio_lio_opcode;
            short          aio_reqprio;
            int       aio_fildes;
       };

DESCRIPTION

       This is an inline convenience function for setting up an  iocbv  for  a
       FSYNC request.
       The file for which

       iocb->aio_fildes = fd
              is a descriptor is set up with the command

       iocb->aio_lio_opcode = IO_CMD_FSYNC

       The  io_prep_fsync() function shall set up an IO_CMD_FSYNC operation to
       asynchronously force  all  I/O  operations  associated  with  the  file
       indicated  by  the  file  descriptor  aio_fildes  member  of  the  iocb
       structure referenced by the iocb argument and queued at the time of the
       call  to  io_submit()  to  the  synchronized  I/O completion state. The
       function call shall return when the synchronization  request  has  been
       initiated or queued to the file or device (even when the data cannot be
       synchronized immediately).

       All currently queued I/O operations shall be completed as if by a  call
       to  fsync();  that  is,  as defined for synchronized I/O file integrity
       completion. If the operation queued by io_prep_fsync() fails, then,  as
       for fsync(), outstanding I/O operations are not guaranteed to have been
       completed.

       If io_prep_fsync() succeeds, then it is only the I/O that was queued at
       the  time of the call to io_submit() that is guaranteed to be forced to
       the relevant completion state. The completion of subsequent I/O on  the
       file  descriptor  is  not  guaranteed to be completed in a synchronized
       fashion.

       This function returns  immediately.  To  schedule  the  operation,  the
       function io_submit must be called.

       Simultaneous  asynchronous  operations  using  the  same  iocb  produce
       undefined results.

RETURN VALUES

       None.

ERRORS

       None.

SEE ALSO

       io(3), io_cancel(3),  io_fsync(3),  io_getevents(3),  io_prep_pread(3),
       io_prep_pwrite(3),        io_queue_init(3),        io_queue_release(3),
       io_queue_run(3),  io_queue_wait(3),  io_set_callback(3),  io_submit(3),
       errno(3).