fsync(2) System Calls Manual fsync(2)
Name
fsync - synchronize a file's in-core state with that on disk
Syntax
fsync(fd)
int fd;
Description
The system call causes all modified data and attributes of fd to be moved to a permanent storage device. This results in all in-core modi-
fied copies of buffers for the associated file to be written to a disk.
The call should be used by programs that require a file to be in a known state, for example, in building a simple transaction facility.
Return Values
A 0 value is returned on success. A -1 value indicates an error.
Diagnostics
The call fails under the following conditions:
[EBADF] The fd argument is not a valid descriptor.
[EINVAL] The fd argument refers to a socket.
[EIO] An I/O error occurred while reading from or writing to the file system.
[EINTR] The function was interrupted by a signal.
If an error occurs on an asynchronous write over NFS, the error cannot always be returned from a system call. The error code is returned
on or The following are NFS-only error messages:
[EACCESS] The requested address is protected, and the current user has inadequate permission to access it.
[ENOSPC] There is no free space remaining on the file system containing the file.
[EDQUOT] The user's quota of disk blocks on the file system containing the file has been exhausted.
[EROFS] The file is on a read-only file system.
[ESTALE] The fd argument is invalid because the file referred to by that file handle no longer exists or has been revoked.
[ETIMEDOUT] A write operation failed because the server did not properly respond after a period of time that is dependent on the
options.
See Also
sync(1), close(2), sync(2), write(2), update(8)
fsync(2)