Originální popis anglicky:
readahead - perform file readahead into page cache
Návod, kniha: Linux Programmer's Manual
#include <fcntl.h>
ssize_t readahead(int fd, off64_t *offset, size_t count);
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.
On success,
readahead() returns 0; on failure, -1 is returned, with
errno set to indicate the cause of the error.
- 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.
The
readahead() system call is Linux specific, and its use should be
avoided in portable applications.
The
readahead() system call appeared in Linux 2.4.13.
fadvise(2),
lseek(2),
madvise(2),
mmap(2),
read(2)