Provided by:
manpages-es_1.55-10_all 
NOMBRE
fsync, fdatasync - sincroniza el estado completo en memoria de un
fichero con el del disco
SINOPSIS
#include <unistd.h>
int fsync(int fd);
int fdatasync(int fd);
DESCRIPCI'ON
fsync copia todas las partes que estan en memoria de un fichero a
disco, y espera hasta que el dispositivo avise de que todas las partes
se encuentran en almacenamiento estable. Tambien actualiza informacion
de estado de metadatos. No garantiza necesariamente que la entrada en
el directorio que contiene el fichero haya llegado tambien a disco.
Para ello se necesita tambien una llamada explicita a fsync sobre el
descriptor de fichero del directorio.
fdatasync hace lo mismo que fsync pero solo vacia los datos de usuario,
no los meta datos como el valor mtime o el valor atime.
VALOR DEVUELTO
En caso de exito, devuelve 0. En caso de error, -1, y la variable errno
toma un valor apropiado.
ERRORES
EBADF fd no es un descriptor de fichero valido para escribir.
EROFS, EINVAL
fd esta enlazado a un fichero especial que no admite
sincronizacion.
EIO Ha ocurrido un error durante la sincronizacion.
OBSERVACIONES
En caso de que el disco duro tenga habilitada la escritura en cache,
los datos pueden no estar realmente en almacenamiento permanente cuando
fsync/fdatasync regrese.
Cuando se monta un sistema de ficheros ext2 con la opcion sync, las
entradas de directorio son sincronizadas implicitamente tambien por
fsync.
En versiones del nucleo anteriores a la 2.4, fsync puede ser
ineficiente sobre ficheros grandes. Una alternativa puede ser usar la
opcion O_SYNC en open(2).
CONFORME A
POSIX.1b (anteriormente POSIX.4)
V'EASE TAMBI'EN
bdflush(2), open(2), sync(2), mount(8), update(8), sync(8)