[Linux manuál]
Návod, kniha: Linux Programmer's Manual
int fsync(int fd);
int fdatasync(int fd);
fdatasync does the same as fsync but only flushes user data, not
the meta data like the mtime or atime.
fsync, fdatasync: synchronizovat kompletní stav jádra souboru se stavem na disku
Originální popis anglicky: fsync, fdatasync - synchronize a file's complete in-core state with that on diskNávod, kniha: Linux Programmer's Manual
STRUČNĚ
#include <unistd.h>POPIS / INSTRUKCE
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 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.NÁVRATOVÁ HODNOTA
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.CHYBY / ERRORY
- EBADF
- fd is not a valid file descriptor open for writing.
- EIO
- An error occurred during synchronization.
- EROFS, EINVAL
- fd is bound to a special file which does not support 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 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).ODPOVÍDAJÍCÍ
POSIX.1b (formerly POSIX.4)SOUVISEJÍCÍ
bdflush(2), open(2), sync(2) mount(8), sync(8), update(8)| 2001-04-18 | Linux 1.3.85 |