Votre IP: 38.107.179.243 
  
 
Google
 
Accueil e-mail Linux
Linux
Perl
Perl
C
Langage C
Dico
Dictionnaire
Biblio liens
Bibliothèque de liens
Index articles
Index articles
 

Date création : 27-03-2008 20:23:44

Linux  Vous êtes dans : GNU/Linux Astuces / Pages man [Section2 - Appels système]


FSYNC

 

Index

  1. NOM
  2. SYNOPSIS
  3. DESCRIPTION
  4. VALEUR RENVOYÉE
  5. ERREURS
  6. NOTES
  7. CONFORMITÉ
  8. VOIR AUSSI
  9. TRADUCTION

 

NOMIndex

fsync, fdatasync - Synchroniser un fichier en mémoire avec le disque  

SYNOPSISIndex

#include <unistd.h>
int fsync(int fd);
int fdatasync(int fd);  

DESCRIPTIONIndex

fsync() transfère toutes les données modifiées du fichier correspondant au descripteur fd sur le disque (ou autre périphérique de stockage permanent) où ce fichier se trouve. L'appel bloque jusqu'à ce que le périphérique indique que le transfert est terminé. Il transfère aussi les informations d'état du fichier (voir stat(2)).
Un appel à fsync() 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.
fdatasync() est similaire à fsync(), mais ne transfère pas les méta-données, sauf si ces informations sont nécessaires à une récupération ultérieure de données. Par exemple, les modifications de st_atime ou st_mtime (heures de dernier accès et de dernière modification, respectivement ; voir stat(2)) ne sont pas transférées, car elles ne sont pas nécessaires à une lecture de données ultérieurement. En revanche, une modification de la taille du fichier (st_size), par exemple effectuée par ftruncate(2), nécessite un transfert des méta-données.
Le but de fdatasync(2) est de réduire l'activité disque pour les applications qui n'ont pas besoin d'une parfaite synchronisation des méta-données avec le disque.  

VALEUR RENVOYÉEIndex

L'appel renvoie 0 quand il réussit, ou -1 s'il échoue, auquel cas errno contient le code d'erreur.  

ERREURSIndex

EBADF
fd n'est pas un descripteur de fichier ouvert en écriture.
EIO
Une erreur s'est produite pendant la synchronisation.
EROFS, EINVAL
fd est associé à un type de fichier spécial qui ne permet pas de synchronisation.
 

NOTESIndex

Si le disque dur dispose d'un tampon en écriture, les données ne sont peut-être pas enregistrées définitivement lorsque fsync() ou fdatasync() 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).  

CONFORMITÉIndex

POSIX.1-2001.  

VOIR AUSSIIndex

bdflush(2), open(2), sync(2), sync_file_range(2), hdparm(8), mount(8), sync(8), update(8)  

TRADUCTIONIndex

Cette page de manuel a été traduite et mise à jour par Christophe Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par Alain Portal <aportal AT univ-montp2 DOT fr> jusqu'en 2006.
La traduction de cette page de manuel est basée sur les traductions disponibles sur http://manpagesfr.free.fr/, mais est gérée par l'équipe francophone de traduction de Debian au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C <section> <page_de_man> ».


Création : octobre 2007  © Tous droits réservés 2007 linux-perl-c
Valid HTML 4.01 TransitionalValid CSS