Provided by: libaio-dev_0.3.110-5ubuntu0.1_amd64 bug

NAME

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

SYNOPSIS

       #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).