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%uA0fd%uA0argument is a file descriptor identifying the file which is to be read. The%uA0offset%uA0argument specifies the starting point from which data is to be read and%uA0count%uA0specifies the number of bytes to be read. I/O is performed in whole pages, so that%uA0offset%uA0is effectively rounded down to a page boundary and bytes are read up to the next page boundary greater than or equal to%uA0(offset+count).readahead() does not read beyond the end of the file.%uA0readahead() blocks until the specified data has been read. The current file offset of the open file referred to by%uA0fd%uA0is left unchanged.
返回值
On success,%uA0readahead() returns 0 on failure, -1 is returned, with%uA0errno%uA0set to indicate the cause of the error.
错误
标签
描述
EBADF
fd%uA0is not a valid file descriptor or is not open for reading.
EINVAL
fd%uA0does not refer to a file type to which%uA0readahead() can be applied.
遵循于
readahead()%uA0系统调用是Linux特有的,并且应该避免在便携式应用中的使用。
注意
The%uA0readahead() system call appeared in Linux 2.4.13.