readahead(2) System Calls Manual readahead(2) NOM readahead - Lire d'avance une ou plusieurs pages en memoire cache BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #define _GNU_SOURCE /* Consultez feature_test_macros(7) */ #define _FILE_OFFSET_BITS 64 #include 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 entres-sorties sur le disque (en supposant que la lecture d'avance ait ete effectuee suffisamment tot et que les autres activites du systeme n'aient pas vide les pages du cache). L'argument fd est le descripteur de fichier identifiant le fichier a lire. L'argument offset specifie le point de depart de la lecture et count specifie le nombre d'octets a lire. Les entrees-sorties sont effectuees sur des pages completes, aussi, offset est arrondi par defaut a la limite de page inferieure et les octets sont lus jusqu'a la prochaine limite de page superieure ou egale a (offset+count). readahead() ne lit pas au-dela de la fin de fichier. Le decalage fichier courant du fichier ouvert reference par fd reste inchange. VALEUR RENVOYEE readahead() renvoie zero s'il reussit. En cas d'echec, -1 est renvoye et errno est positionne 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 reference 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 systeme differe, comme explique dans syscall(2). STANDARDS Linux. HISTORIQUE Linux 2.4.13, glibc 2.3. NOTES _FILE_OFFSET_BITS devrait etre defini pour etre 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 destine a etre portable sur les plateformes x86 32 bits et ARM traditionnelles ou la taille par defaut de off_t est de 32 bits. BOGUES readahead() essaie de programmer les lectures en arriere-plan et retourne immediatement. Cependant, la fonction peut bloquer en attente des metadonnees du systeme de fichier, necessaires pour localiser les blocs demandes. Cela arrive souvent avec ext[234] et les fichiers tres grands utilisant les blocs indirects a la place de la fonctionnalite des << extents >>, donnant l'impression que l'appel bloque en attente de la lecture complete des donnees. VOIR AUSSI lseek(2), madvise(2), mmap(2), posix_fadvise(2), read(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 et David Prevot 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.06 31 octobre 2023 readahead(2)