sourCEntral - mobile manpages

pdf

readahead

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) */
#include <fcntl.h>

ssize_t readahead(int fd, off64_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

L’appel système readahead() est apparu dans Linux 2.4.13 ; la prise en charge de la glibc est fournie depuis la glibc 2.3.

STANDARDS

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

NOTES

Dans le cas de certaines architectures 32 bits, la signature de cet appel système diffère, comme expliqué dans syscall(2).

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 DOT rafin AT laposte DOT net>, Thierry Vignaud <tvignaud AT mandriva DOT com>, François Micaux, Alain Portal <aportal AT univ-montp2 DOT fr>, Jean-Philippe Guérard <fevrier AT tigreraye DOT org>, Jean-Luc Coulon (f5ibh) <jean-luc DOT coulon AT wanadoo DOT fr>, Julien Cristau <jcristau AT debian DOT org>, Thomas Huriaux <thomas DOT huriaux AT gmail DOT com>, Nicolas François <nicolas DOT francois AT centraliens DOT net>, Florentin Duneau <fduneau AT gmail DOT com>, Simon Paillard <simon DOT paillard AT resel DOT enst-bretagne DOT fr>, Denis Barbier <barbier AT debian DOT org> et David Prévot <david AT tilapin DOT 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.

pdf