READAHEAD
Section: Linux Programmer's Manual (2)
Updated: 2007-07-26
Index
Return to Main Contents
NAME
readahead - perform file readahead into page cache
SYNOPSIS
#define _GNU_SOURCE
#include <fcntl.h>
ssize_t readahead(int fd, off64_t offset, size_t count);
DESCRIPTION
readahead()
populates the page cache with data from a file so that subsequent
reads from that file will not block on disk I/O.
The
fd
argument is a file descriptor identifying the file which is
to be read.
The
offset
argument specifies the starting point from which data is to be read
and
count
specifies the number of bytes to be read.
I/O is performed in whole pages, so that
offset
is effectively rounded down to a page boundary
and bytes are read up to the next page boundary greater than or
equal to
(offset+count).
readahead()
does not read beyond the end of the file.
readahead()
blocks until the specified data has been read.
The current file offset of the open file referred to by
fd
is left unchanged.
RETURN VALUE
On success,
readahead()
returns 0; on failure, -1 is returned, with
errno
set to indicate the cause of the error.
ERRORS
- EBADF
-
fd
is not a valid file descriptor or is not open for reading.
- EINVAL
-
fd
does not refer to a file type to which
readahead()
can be applied.
VERSIONS
The
readahead()
system call appeared in Linux 2.4.13;
glibc support has been provided since version 2.3.
CONFORMING TO
The
readahead()
system call is Linux-specific, and its use should be avoided
in portable applications.
SEE ALSO
lseek(2),
madvise(2),
mmap(2),
posix_fadvise(2),
read(2)
COLOPHON
This page is part of release 3.22 of the Linux
man-pages
project.
A description of the project,
and information about reporting bugs,
can be found at
http://www.kernel.org/doc/man-pages/.