page_cache_sync_readahead — generic file readahead


void page_cache_sync_readahead (struct address_space * mapping,
 struct file_ra_state * ra,
 struct file * filp,
 pgoff_t offset,
 unsigned long req_size);


struct address_space * mapping

address_space which holds the pagecache and I/O vectors

struct file_ra_state * ra

file_ra_state which holds the readahead state

struct file * filp

passed on to ->readpage and ->readpages

pgoff_t offset

start offset into mapping, in pagecache page-sized units

unsigned long req_size

hint: total size of the read which the caller is performing in pagecache pages


page_cache_sync_readahead should be called when a cache miss happened: it will submit the read. The readahead logic may decide to piggyback more pages onto the read request if access patterns suggest it will improve performance.