fdatasync - Writes data changes in a file to permanent storage
int fdatasync (
int fildes );
fildes Specifies a valid open file descriptor.
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 pro-
vides 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 the 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
[EBADF] The fildes parameter is not a valid file descriptor.
[EINVAL] The fildes parameter does not refer to a file on which this
operation is possible.
If any queued I/O operations fail, the fdatasync function returns error
conditions defined for the read and write functions.
Functions: fcntl(2), fsync(2), open(2), read(2), sync(2), write(2)