Provided by: manpages-dev_3.35-0.1ubuntu1_all bug

NAME

       sync, syncfs - commit buffer cache to disk

SYNOPSIS

       #include <unistd.h>

       void sync(void);

       void 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

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

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

RETURN VALUE

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

ERRORS

       sync() is always successful.

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

       EBADF  fd is not a valid file descriptor.

VERSIONS

       syncfs() first appeared in Linux 2.6.39.

CONFORMING TO

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

       syncfs() is Linux-specific.

NOTES

       Since  glibc  2.2.2  the Linux prototype for sync() is as listed above,
       following the various standards.  In libc4,  libc5,  and  glibc  up  to
       2.2.1 it was "int sync(void)", and sync() always returned 0.

BUGS

       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

       bdflush(2), fdatasync(2), fsync(2), sync(8), update(8)

COLOPHON

       This page is part of release 3.35 of the Linux  man-pages  project.   A
       description  of  the project, and information about reporting bugs, can
       be found at http://man7.org/linux/man-pages/.