October 25, 2003 FDATASYNC 2

### NAME

fdatasync - synchronize the data of a file

### LIBRARY

Standard C Library (libc, -lc)

### SYNOPSIS

```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.1'') .