Provided by: manpages-dev_3.54-1ubuntu1_all bug

NAME

       readahead - perform file readahead into page cache

SYNOPSIS

       #define _GNU_SOURCE             /* See feature_test_macros(7) */
       #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.

NOTES

       On  some  32-bit  architectures,  the  calling  signature  for  this system call differs, for the reasons
       described in syscall(2).

SEE ALSO

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

COLOPHON

       This page is part of release 3.54 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/.