readahead
Table des matières
Retour à l'index
NOM
readahead - Lire d'avance une ou plusieurs pages en mémoire cache
BIBLIOTHÈQUE
Bibliothèque C standard (libc, -lc)
SYNOPSIS
#define _GNU_SOURCE /* Consultez feature_test_macros(7) */
#define _FILE_OFFSET_BITS 64
#include <fcntl.h>
ssize_t readahead(int fd, off_t offset, size_t count);
DESCRIPTION
readahead() initie une lecture d'avance d'un fichier de sorte que les
lectures suivantes de ce fichier soient satisfaites depuis le cache, sans
bloquer les entrés-sorties sur le disque (en supposant que la lecture
d'avance ait été effectuée suffisamment tôt et que les autres activités du
système n'aient pas vidé les pages du cache).
L'argument fd est le descripteur de fichier identifiant le fichier à
lire. L'argument offset spécifie le point de départ de la lecture et
count spécifie le nombre d'octets à lire. Les entrées-sorties sont
effectuées sur des pages complètes, aussi, offset est arrondi par défaut
à la limite de page inférieure et les octets sont lus jusqu'à la prochaine
limite de page supérieure ou égale à (offset+count). readahead() ne
lit pas au-delà de la fin de fichier. Le décalage fichier courant du fichier
ouvert référencé par fd reste inchangé.
VALEUR RENVOYÉE
readahead() renvoie zéro s'il réussit. En cas d'échec, -1 est renvoyé
et errno est positionné pour indiquer l'erreur.
ERREURS
- EBADF
-
fd n'est pas un descripteur de fichier valable ou n'est pas ouvert en
lecture.
- EINVAL
-
fd ne référence pas un type de fichier sur lequel on peut appliquer
readahead().
VERSIONS
Dans le cas de certaines architectures 32 bits, la signature de cet appel
système diffère, comme expliqué dans syscall(2).
STANDARDS
Linux.
HISTORIQUE
Linux 2.4.13, glibc 2.3.
NOTES
_FILE_OFFSET_BITS devrait être défini pour être 64 dans le code qui
utilise off_in ou off_out non NULL ou qui obtient l'adresse de
copy_file_range, si le code est destiné à être portable sur les
plateformes x86 32 bits et ARM traditionnelles où la taille par défaut de
off_t est de 32 bits.
BOGUES
readahead() essaie de programmer les lectures en arrière-plan et retourne
immédiatement. Cependant, la fonction peut bloquer en attente des
métadonnées du système de fichier, nécessaires pour localiser les blocs
demandés. Cela arrive souvent avec ext[234] et les fichiers très grands
utilisant les blocs indirects à la place de la fonctionnalité des
« extents », donnant l'impression que l'appel bloque en attente de la
lecture complète des données.
VOIR AUSSI
lseek(2), madvise(2), mmap(2), posix_fadvise(2), read(2)
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@laposte.net>,
Thierry Vignaud <tvignaud@mandriva.com>,
François Micaux,
Alain Portal <aportal@univ-montp2.fr>,
Jean-Philippe Guérard <fevrier@tigreraye.org>,
Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>,
Julien Cristau <jcristau@debian.org>,
Thomas Huriaux <thomas.huriaux@gmail.com>,
Nicolas François <nicolas.francois@centraliens.net>,
Florentin Duneau <fduneau@gmail.com>,
Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,
Denis Barbier <barbier@debian.org>
et
David Prévot <david@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 à
Index
- NOM
-
- BIBLIOTHÈQUE
-
- SYNOPSIS
-
- DESCRIPTION
-
- VALEUR RENVOYÉE
-
- ERREURS
-
- VERSIONS
-
- STANDARDS
-
- HISTORIQUE
-
- NOTES
-
- BOGUES
-
- VOIR AUSSI
-
- TRADUCTION
-
This document was created by
man2html,
using the manual pages.
Time: 05:06:04 GMT, September 19, 2025