Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sync(1)

close(2)

sync(2)

write(2)

update(8)

fsync(2)

Name

fsync − synchronize a file’s in-core state with that on disk

Syntax

fsync(fd)
int fd;

Description

The fsync system call causes all modified data and attributes of fd to be moved to a permanent storage device.  This results in all in-core modified copies of buffers for the associated file to be written to a disk. 

The fsync 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 fsync 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 fsync() function was interrupted by a signal.

If an error occurs on an asynchronous write over NFS, the error cannot always be returned from a write system call.  The error code is returned on close or fsync. 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 mount() options.

See Also

sync(1), close(2), sync(2), write(2), update(8)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026