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 in building a simple transaction facility.
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 to 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.0β — Last change: 19 August 1985