sync(2) System Calls Manual sync(2) NOM sync, syncfs - Vider les caches du systeme de fichiers sur le disque BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include void sync(void); int syncfs(int fd); Exigences de macros de test de fonctionnalites pour la glibc (consulter feature_test_macros(7)) : sync() : _XOPEN_SOURCE >= 500 || /* Depuis la glibc 2.19 : */ _DEFAULT_SOURCE || /* glibc <= 2.19 : */ _BSD_SOURCE syncfs() : _GNU_SOURCE DESCRIPTION sync() force l'ecriture sur les systemes de fichiers sous-jacents de toutes les metadonnees de fichier et donnees modifiees en cache. syncfs() agit comme sync(), mais ne synchronise que le systeme de fichiers contenant le fichier reference par le descripteur de fichier ouvert fd. VALEUR RENVOYEE Si elle reussit, syncfs() renvoie 0. Si elle echoue, elle renvoie -1 et definit errno pour indiquer l'erreur. ERREURS sync() reussit toujours. syncfs() peut echouer au moins dans les cas suivants : EBADF fd n'est pas un descripteur de fichier valable. EIO Une erreur s'est produite pendant la synchronisation. Cette erreur peut etre liee a des donnees ecrites dans n'importe quel fichier du systeme de fichiers ou a des metadonnees liees au systeme de fichiers lui-meme. ENOSPC L'espace disque a ete epuise pendant la synchronisation. ENOSPC EDQUOT Les donnees ont ete ecrites dans un fichier sur un systeme de fichiers NFS ou autre qui n'allouait pas d'espace au moment de l'appel systeme a write(2) et certaines ecritures anterieures ont echoue du fait d'un espace de stockage insuffisant. VERSIONS D'apres les normes (par exemple POSIX.1-2001) sync() ne fait que planifier les ecritures, il peut donc renvoyer avant que la veritable ecriture ne soit effectuee. Cependant, Linux attend la fin de l'ecriture et sync() et syncfs() fournissent donc les meme garanties que fsync() sur chaque fichier du systeme ou du systeme de fichiers respectivement. STANDARDS sync() POSIX.1-2008. syncfs() Linux. HISTORIQUE sync() POSIX.1-2001, SVr4, 4.3BSD. syncfs() Linux 2.6.39, glibc 2.14. Depuis la glibc 2.2.2, le prototype sous Linux de sync() est celui indique plus haut, ce qui correspond a diverses normes. Dans glibc jusqu'a 2.2.1 c'etait << int sync(void) >>, et sync() renvoyait toujours 0. Dans les versions principales du noyau avant Linux 5.8, syncfs() n'echouera que si un mauvais descripteur de fichier est fourni (EBADF). Depuis Linux 5.8, syncfs() renverra aussi une erreur si un inoeud ou plus a echoue a etre reecrit depuis le dernier appel a syncfs(). BOGUES Avant Linux 1.3.20, Linux n'attendait pas la fin de l'ecriture. VOIR AUSSI sync(1), fdatasync(2), fsync(2) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot , Thomas Vincent et Jean- Pierre Giraud Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.8 2 mai 2024 sync(2)