FDATASYNC(2) | System Calls Manual | FDATASYNC(2)

# NAME

fdatasync — synchronize the data of a file

# LIBRARY

Standard C Library (libc, -lc)

# 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 open for writing.
[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 IEEE Std 1003.1b-1993 (“POSIX.1b”).

October 25, 2003 | NetBSD 7.2