FDATASYNC(2) Manuel du programmeur Linux FDATASYNC(2)
Nom
fdatasync - Synchroniser les données en mémoire avec
celles sur disque.
SYNOPSIS
#include <unistd.h>
#ifdef _POSIX_SYNCHRONIZED_IO
int fdatasync(int fd);
#endif
DESCRIPTION
fdatasync vide sur le disque tous les buffers de données
d'un fichier (avant le retour de l'appel système). Il
ressemble à fsync mais il n'a pas besoin de mettre a jour
des informations dans l'i-noeud (comme l'heure d'accès par
exemple).
Les applications qui utilisent des bases de données ou des
fichiers de journalisation (log) écrivent souvent de très
petits enregistrements (ex: 1 ligne d'un fichier de jour
nalisation) et appellent ensuite fsync immédiatement pour
s'assurer que les données ont été physiquement écrites sur
le disque.
Malheureusement fsync demande toujours deux opérations
d'ecriture : une pour les nouvelles données, et une sec
onde pour mettre à jour l'heure de modification de l'i-
noeud.
Si l'heure de modification n'est pas utile à l'applica
tion, l'appel à fdatasync sera préférable car il évite
l'écriture inutile sur le noeud du système de fichiers.
VALEUR RENVOYÉE
fdatasync renvoie 0 s'il réussit, ou -1 en cas d'échec,
auquel cas errno contient le code d'erreur.
ERREURS
EBADF fd n'est pas un descripteur de fichier valide
ouvert en écriture.
EROFS, EINVAL
fd est relié à un type de fichier qui ne permet
pas la synchronisation.
EIO Une erreur s'est produite durant la synchronisa
tion.
BUGS
Actuellement (Linux 2.0.23) fdatasync est équivalent à
fsync.
Linux 1.3.86 14 Octobre 1996 1
FDATASYNC(2) Manuel du programmeur Linux FDATASYNC(2)
CONFORMITÉ
POSIX1b (précédement POSIX.4).
VOIR AUSSI
fsync(2), B.O. Gallmeister, POSIX.4, O'Reilly, pp. 220-223
and 343.
TRADUCTION
Christophe Blaess, 1997.
Linux 1.3.86 14 Octobre 1996 2