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.
[`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.1-2008 (“POSIX.1”).

October 25, 2003 | NetBSD 9.2