FSYNC(2) Linux Programmer’s Manual FSYNC(2)
NAME
fsync, fdatasync - synchronize a file’s complete in-core state with that on disk
SYNOPSIS
#include <unistd.h>
int fsync(int fd);
int fdatasync(int fd);
DESCRIPTION
fsync copies all in-core parts of a file to disk, and waits until the device
reports that all parts are on stable storage. It also updates metadata stat infor-
mation. It does not necessarily ensure that the entry in the directory containing
the file has also reached disk. For that an explicit fsync on the file descriptor
of the directory is also needed.
fdatasync does the same as fsync but only flushes user data, not the meta data like
the mtime or atime.
RETURN VALUE
On success, zero is returned. On error, -1 is returned, and errno is set appropri-
ately.
ERRORS
EBADF fd is not a valid file descriptor open for writing.
EROFS, EINVAL
fd is bound to a special file which does not support synchronization.
EIO An error occurred during synchronization.
NOTES
In case the hard disk has write cache enabled, the data may not really be on perma-
nent storage when fsync/fdatasync return.
When an ext2 file system is mounted with the sync option, directory entries are
also implicitly synced by fsync.
On kernels before 2.4, fsync on big files can be inefficient. An alternative might
be to use the O_SYNC flag to open(2).
CONFORMING TO
POSIX.1b (formerly POSIX.4)
SEE ALSO
bdflush(2), open(2), sync(2), mount(8), update(8), sync(8)
Linux 1.3.85 2001-04-18 FSYNC(2)
Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache/1.3.41 (Unix) PHP/5.2.5 mod_perl/1.30 mod_gzip/1.3.26.1a
Under GNU General Public License
2008-12-02 08:30 @38.103.63.58 CrawledBy CCBot/1.0 (+http://www.commoncrawl.org/bot.html)