READAHEAD(2)

NOM
readahead - Lire d'avance une ou plusieurs pages en mémoire cache

SYNOPSIS
#define _GNU_SOURCE
#include <fcntl.h>

ssize_t readahead(int fd, off64_t offset, size_t count);

DESCRIPTION
readahead() remplit le cache des pages avec les données d'un fichier de façon à ce que les lectures suivantes sur ce fichier ne bloquent pas à cause des entrées-sorties sur le disque. 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 à 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. readahead() bloque jusqu'à ce que les données spécifiées soient lues. 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 et -1 s'il échoue et écrit la cause de l'erreur dans errno.

ERREURS

EBADF
    fd n'est pas un descripteur de fichier valide 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
L'appel système readahead() est apparu dans Linux 2.4.13 ; La glibc le prend en charge depuis la version 2.3.

CONFORMITÉ
L'appel système readahead() est spécifique à Linux et ne devrait pas être utilisé dans des applications conçues pour être portable.

VOIR AUSSI
lseek(2), madvise(2), mmap(2), posix_fadvise(2), read(2)

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 18 juillet 2003 et révisée le 23 juin 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 2 readahead ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.