FDATASYNC

Section: Manuel du programmeur Linux (2)
Updated: 18 juillet 2003
Index


NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
BOGUES
CONFORMITÉ
VOIR AUSSI
TRADUCTION

NOM

fdatasync - synchronise des données en mémoire avec un fichier sur disque.

SYNOPSIS

#include <unistd.h>
#ifdef _POSIX_SYNCHRONIZED_IO
int fdatasync(int fd);
#endif

DESCRIPTION

fdatasync vide tous les buffers de données du fichier vers le disque (avant que l'appel ne revienne). Il ressemble à fsync mais ne met pas nécessaire à jour les méta-données comme l'heure d'accès.
Les applications accédant à des bases de données ou des fichiers journaux écrivent souvent de petits fragments de données (une ligne de texte par exemple) et appellent fsync immédiatement pour être sûr du stockage sur disque. Malheureusement, fsync va déclencher deux écritures : une pour les données et une pour mettre à jour la date de modification enregistrée dans l'i-noeud. Si la date de modification n'est pas importante pour l'application, alors fdatasync peut être invoquée pour éviter l'accès inutile à l'i-noeud.

VALEUR RENVOYÉE

L'appel renvoie zéro s'il réussit et -1 s'il échoue auquel cas errno contient le code d'erreur

ERREURS

EBADF
fd n'est pas un descripteur de fichier ouvert en écriture.
EROFS, EINVAL
fd correspond à un fichier spécial ne supportant pas la synchronisation.
EIO
Une erreur d'entrée/sortie s'est produite.

BOGUES

Actuellement (Linux 2.2) fdatasync est équivalent à fsync.

CONFORMITÉ

POSIX1b (anciennement POSIX.4)

VOIR AUSSI

fsync(2)
B.O. Gallmeister, POSIX.4, O'Reilly, pp. 220-223 and 343.

TRADUCTION

Christophe Blaess, 1996-2003.