Linux |
CentOS 5.3 |
|
readahead(2) |
readahead − Lire d’avance une ou plusieurs pages en mémoire cache. |
#include <fcntl.h> ssize_t readahead(int fd, off64_t *offset, size_t count); |
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 bloque pas les 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 par défaut à la limite de page 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 resté inchangé. |
readahead() renvoie zéro s’il réussit et −1 s’il échoue et écrit la cause de l’erreur dans errno. |
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(). |
L’appel système readahead() est spécifique à Linux et ne devrait pas être utilisé dans des applications conçues pour être portable. |
L’appel système readahead() est apparu dans linux 2.4.13 |
fadvise(2), lseek(2), madvise(2), mmap(2), posix_fadvise(2), read(2) |
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 10 août 2006. 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=en man 2 readahead ». N’hésitez pas à signaler à l’auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel. |
readahead(2) |