FSYNC(2) — SYSTEM CALLS
NAME
fsync − synchronize a file’s in-core state with that on disk
SYNOPSIS
fsync(fd)
int fd;
DESCRIPTION
fsync moves all modified data and attributes of fd to a permanent storage device: all in-core modified copies of buffers for the associated file have been written to a disk when the call returns. Note that this is different than sync(2) which schedules disk I/O for all files (as though an fsync had been done on all files) but returns before the I/O completes.
fsync should be used by programs which require a file to be in a known state; for example, a program which contains a simple transaction facility might use it to ensure that all modifications to a file or files caused by a transaction were recorded on disk.
RETURN VALUE
A 0 value is returned on success. A −1 value indicates an error.
ERRORS
The fsync fails if:
EBADF fd is not a valid descriptor.
EINVAL fd refers to a socket, not a file.
EIO An I/O error occurred while reading from or writing to the file system.
SEE ALSO
BUGS
The current implementation of this call is expensive for large files.
Sun Release 3.2 — Last change: 16 July 1986