FSYNC
Section: Manuel du programmeur Linux (2) Updated: 30 juillet 2003 Index
NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
NOTES
COMPATIBILITÉ
VOIR AUSSI
TRADUCTION
NOM
fsync - Synchroniser un fichier en mémoire avec le disque.
SYNOPSIS
#include <unistd.h>
int fsync (int fd);
int fdatasync (int fd);
DESCRIPTION
fsync
copie sur le disque tous les morceaux encore en mémoire d'un fichier, et attend
que le périphérique signale que toutes les portions sont stockées.
Cet appel-système met également à jour les informations d'état du fichier.
Il ne s'assure pas obligatoirement que les informations concernant le
répertoire aient atteint le disque. Pour cela, un appel explicite de
fsync
sur le descripteur de fichier du répertoire est nécessaire.
VALEUR RENVOYÉE
Les appels-système renvoient 0 s'ils reussissent, ou -1 s'ils échouent, 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 associé à un type de fichier spécial qui ne permet pas de synchronisation.
- EIO
-
Une erreur s'est produite pendant la synchronisation.
NOTES
fdatasync
effectue la même chose que
fsync
mais il n'envoie sur le disque que les données de l'utilisateur, pas les
informations d'état du fichier, ni les horodatages.
Si le disque dur dispose d'un tampon en écriture, les données ne
sont peut être pas enregistrées définitivement lorsque
fsync
se termine.
Lorsqu'un système de fichiers ext2 est monté avec l'option
sync,
les entrées de répertoires sont également synchronisées lors de l'appel à
fsync.
Sur les noyaux antérieurs au 2.4,
fsync
peut être sensiblement inefficace sur les gros fichiers.
Une autre solution peut être l'utilisation de l'attribut
O_SYNC
lors de l'invocation de
open(2).
COMPATIBILITÉ
POSIX.1b (précédement POSIX.4)
VOIR AUSSI
TRADUCTION
Christophe Blaess, 1996-2003.
|