FSYNC(2) — SYSTEM CALLS
NAME
fsync − synchronize a file’s in-core state with that on disk
SYNOPSIS
int 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: this is different than sync(8) 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 4.0 — Last change: 19 November 1987