fdatasync - Writes data changes in a file to permanent storage
int fdatasync (
int fildes );
The fdatasync function causes system buffers containing a file's modified data to be written to permanent storage. The fdatasync function does not return until the operation has been completed. The fdatasync function provides data integrity, ensuring that data in permanent storage is identical to data in the buffer. However, use of fdatasync does not guarantee that file control information such as owner and modification time has been updated to permanent storage (see fsync function).
The file identified by the fildes parameter must be open for writing when the fdatasync function is issued or the call will fail.
Upon successful completion, the fdatasync function returns a value of 0 (zero). If the fdatasync function fails, a value of -1 is returned and errno is set to indicate the error. If fdatasync fails, outstanding I/O operations are not guaranteed to have been completed.
If the fdatasync function fails, errno may be set to one of the following values:
If any queued I/O operations fail, the fdatasync function returns error conditions defined for the read and write functions.
Functions: aio_fdatasync(2), fcntl(2), fsync(2), open(2), read(2), sync(2), write(2) delim off