syncfs


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 contain-
       ing 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.)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2017 Hurricane Electric. All Rights Reserved.