NOM
sync, syncfs - Vider les caches du système de fichiers sur le disque
SYNOPSIS
#include <unistd.h>
void sync(void);
int syncfs(int fd);
Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros(7)) :
sync() :
_XOPEN_SOURCE >= 500
|| /* Depuis glibc 2.19: */ _DEFAULT_SOURCE
|| /* Glibc versions <= 2.19: */ _BSD_SOURCE
syncfs() :
_GNU_SOURCE
DESCRIPTION
sync() force l’écriture sur les systèmes de fichiers sous-jacents de toutes les métadonnées de fichier et données modifiées en cache.
syncfs() agit comme sync(), mais ne synchronise que le système de fichiers contenant le fichier référencé par le descripteur de fichier ouvert fd.
VALEUR RENVOYÉE
Si elle réussit, syncfs() renvoie 0. Si elle échoue, elle renvoie -1 et définit errno pour indiquer l’erreur.
ERREURS
sync() réussit toujours.
syncfs() peut échouer au moins dans le cas suivant :
EBADF |
fd n’est pas un descripteur de fichier valable. |
VERSIONS
syncfs() est apparue dans Linux 2.6.39, la glibc la gère depuis la version 2.14.
CONFORMITÉ
sync(): POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.
syncfs() est spécifique à Linux.
NOTES
Depuis la glibc 2.2.2, le prototype sous Linux de sync() est celui indiqué plus haut, ce qui correspond à diverses normes. Dans glibc jusqu’à 2.2.1 c’était « int sync(void) », et sync() renvoyait toujours 0.
D’après les normes (par exemple POSIX.1-2001) sync() ne fait que planifier les écritures, il peut donc renvoyer avant que la véritable écriture ne soit effectuée. Cependant, Linux attend la fin de l’écriture et sync() et syncfs() fournissent donc les même garanties que fsync sur chaque fichier du système ou du système de fichiers respectivement.
BOGUES
Avant la version 1.3.20, Linux n’attendait pas la fin de l’écriture.
VOIR AUSSI
sync(1), fdatasync(2), fsync(2)
COLOPHON
Cette page fait partie de la publication 5.07 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page, peuvent être trouvées à l’adresse https://www.kernel.org/doc/man-pages/.
TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin [AT] laposte.net>, Thierry Vignaud <tvignaud [AT] mandriva.com>, François Micaux, Alain Portal <aportal [AT] univ-montp2.fr>, Jean-Philippe Guérard <fevrier [AT] tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon [AT] wanadoo.fr>, Julien Cristau <jcristau [AT] debian.org>, Thomas Huriaux <thomas.huriaux [AT] gmail.com>, Nicolas François <nicolas.francois [AT] centraliens.net>, Florentin Duneau <fduneau [AT] gmail.com>, Simon Paillard <simon.paillard [AT] resel.fr>, Denis Barbier <barbier [AT] debian.org> et David Prévot <david [AT] tilapin.org>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n’y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à <debian-l10n-french [AT] lists.org>.