Go to main content

man pages section 3: Basic Library Functions

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

fdatasync(3C)

Name

fdatasync - synchronize a file's data

Synopsis

#include <unistd.h>

int fdatasync(int fildes);

Description

The fdatasync() function forces all currently queued I/O operations associated with the file indicated by file descriptor fildes to the synchronized I/O completion state.

The functionality is as described for fsync(3C) (with the symbol _XOPEN_REALTIME defined), with the exception that all I/O operations are completed as defined for synchronised I/O data integrity completion.

Return Values

If successful, the fdatasync() function returns 0. Otherwise, the function returns −1 and sets errno to indicate the error. If the fdatasync() function fails, outstanding I/O operations are not guaranteed to have been completed.

Errors

The fdatasync() function will fail if:

EBADF

The fildes argument is not a valid file descriptor open for writing.

EINVAL

The system does not support synchronized I/O for this file.

ENOSYS

The function fdatasync() is not supported by the system.

In the event that any of the queued I/O operations fail, fdatasync() returns the error conditions defined for read(2) and write(2).

Attributes

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
Async-Signal-Safe
Standard

See Also

fcntl(2), open(2), read(2), write(2), aio_fsync(3C), fsync(3C), fcntl.h(3HEAD), attributes(7), standards(7)