| ./" static inline void io_prep_fsync(struct iocb *iocb, int fd) |
| ./" { |
| ./" memset(iocb, 0, sizeof(*iocb)); |
| ./" iocb->aio_fildes = fd; |
| ./" iocb->aio_lio_opcode = IO_CMD_FSYNC; |
| ./" iocb->aio_reqprio = 0; |
| ./" } |
| .TH io_prep_fsync 3 2002-09-12 "Linux 2.4" Linux AIO" |
| .SH NAME |
| io_prep_fsync \- Synchronize a file's complete in-core state with that on disk |
| .SH SYNOPSYS |
| .nf |
| .B #include <errno.h> |
| .br |
| .sp |
| .B #include <libaio.h> |
| .br |
| .sp |
| .BI "static inline void io_prep_fsync(struct iocb *iocb, int fd)" |
| .sp |
| struct iocb { |
| void *data; |
| unsigned key; |
| short aio_lio_opcode; |
| short aio_reqprio; |
| int aio_fildes; |
| }; |
| .sp |
| .fi |
| .SH DESCRIPTION |
| This is an inline convenience function for setting up an iocbv for a FSYNC request. |
| .br |
| The file for which |
| .TP |
| .IR "iocb->aio_fildes = fd" |
| is a descriptor is set up with |
| the command |
| .TP |
| .IR "iocb->aio_lio_opcode = IO_CMD_FSYNC: |
| . |
| .PP |
| 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. |
| .PP |
| This function returns immediately . To schedule the operation, the |
| function |
| .IR io_submit |
| must be called. |
| .PP |
| Simultaneous asynchronous operations using the same iocb produce |
| undefined results. |
| .SH "RETURN VALUES" |
| None |
| .SH ERRORS |
| None |
| .SH "SEE ALSO" |
| .BR io(3), |
| .BR io_cancel(3), |
| .BR io_fsync(3), |
| .BR io_getevents(3), |
| .BR io_prep_pread(3), |
| .BR io_prep_pwrite(3), |
| .BR io_queue_init(3), |
| .BR io_queue_release(3), |
| .BR io_queue_run(3), |
| .BR io_queue_wait(3), |
| .BR io_set_callback(3), |
| .BR io_submit(3), |
| .BR errno(3) |