Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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 information. It does not necessarily ensure that the  en-
       try  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 appropriately.

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 synchro-
	      nization.

       EIO    An error occurred	during synchronization.

NOTES
       In case the hard	disk has write cache enabled, the data may not	really
       be on permanent storage when fsync/fdatasync return.

       When an ext2 file system	is mounted with	the sync option, directory en-
       tries are also implicitly synced	by fsync.

       On kernels before 2.4, fsync on big files can be	inefficient.   An  al-
       ternative 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)

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

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=fsync&sektion=2&manpath=Red+Hat+9>

home | help