NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | VERSIONS | CONFORMING TO | NOTES | BUGS | SEE ALSO | COLOPHON

SYNC(2)                   Linux Programmer's Manual                  SYNC(2)

NAME         top

       sync, syncfs - commit buffer cache to disk

SYNOPSIS         top

       #include <unistd.h>

       void sync(void);

       int syncfs(int fd);

   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

       sync():
           _BSD_SOURCE || _XOPEN_SOURCE >= 500 ||
           _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED

       syncfs():
           _GNU_SOURCE

DESCRIPTION         top

       sync() causes all buffered modifications to file metadata and data to
       be written to the underlying filesystems.

       syncfs() is like sync(), but synchronizes just the filesystem
       containing file referred to by the open file descriptor fd.

RETURN VALUE         top

       syncfs() returns 0 on success; on error, it returns -1 and sets errno
       to indicate the error.

ERRORS         top

       sync() is always successful.

       syncfs() can fail for at least the following reason:

       EBADF  fd is not a valid file descriptor.

VERSIONS         top

       syncfs() first appeared in Linux 2.6.39; library support was added to
       glibc in version 2.14.

CONFORMING TO         top

       sync(): SVr4, 4.3BSD, POSIX.1-2001.

       syncfs() is Linux-specific.

NOTES         top

       Since glibc 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.

BUGS         top

       According to 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.)

SEE ALSO         top

       bdflush(2), fdatasync(2), fsync(2), sync(1)

COLOPHON         top

       This page is part of release 3.75 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
       http://www.kernel.org/doc/man-pages/.

Linux                            2014-08-19                          SYNC(2)