− commit buffer cache to disk
Macro Requirements for glibc (see
_XOPEN_SOURCE >= 500 ||
_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
causes all buffered modifications to file metadata and data
to be written to the underlying filesystems.
is like sync(), but synchronizes just the filesystem
containing file referred to by the open file descriptor
returns 0 on success; on error, it returns −1 and sets
errno to indicate the error.
is always successful.
can fail for at least the following reason:
fd is not a valid file descriptor.
first appeared in Linux 2.6.39; library support was added to
glibc in version 2.14.
POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.
2.2.2, the Linux prototype for sync() is as listed
above, following the various standards. In glibc 2.2.1 and
earlier, it was "int sync(void)", and
sync() always returned 0.
the standard specification (e.g., POSIX.1-2001),
sync() schedules the writes, but may return before
the actual writing is done. However, since version 1.3.20
Linux does actually wait. (This still does not guarantee
data integrity: modern disks have large caches.)
fdatasync(2), fsync(2), sync(1)
This page is
part of release 4.04 of the Linux man-pages project.
A description of the project, information about reporting
bugs, and the latest version of this page, can be found at