FDATASYNC(2)

NAME
fdatasync - synchronize the data of a file

LIBRARY
libc

SYNOPSIS
#include <unistd.h>
int
fdatasync(int fd);

DESCRIPTION
The fdatasync() function forces all modified data associated with the file descriptor fd to be flushed to stable storage.

The functionality is as described for fsync(2), with the exception that file status information need not be synchronized, which may result in a performance gain, compared to fsync(2). This behaviour is commonly known as synchronized I/O data integrity completion.

RETURN VALUES
A value of 0 is returned on success. Otherwise, a value -1 is returned and errno is set to indicate the error.

ERRORS
The fdatasync() function will fail if:

[EBADF]
    The fd argument is not a valid file descriptor.

[EINVAL]
    This implementation does not support synchronized I/O for this file.

[ENOSYS]
    The fdatasync() function is not supported by this implementation.

In the event that any of the I/O operations to be performed fail, fdatasync() returns the error conditions defined for read(2) and write(2), and outstanding I/O operations are not guaranteed to have been completed.

SEE ALSO
fsync(2), open(2), read(2), write(2)

STANDARDS
The fdatasync() function conforms to p1003.1-2008.