Lines Matching refs:ra
28 file_ra_state_init(struct file_ra_state *ra, struct address_space *mapping) in file_ra_state_init() argument
30 ra->ra_pages = inode_to_bdi(mapping->host)->ra_pages; in file_ra_state_init()
31 ra->prev_pos = -1; in file_ra_state_init()
259 static unsigned long get_next_ra_size(struct file_ra_state *ra, in get_next_ra_size() argument
262 unsigned long cur = ra->size; in get_next_ra_size()
334 struct file_ra_state *ra, in try_context_readahead() argument
357 ra->start = offset; in try_context_readahead()
358 ra->size = min(size + req_size, max); in try_context_readahead()
359 ra->async_size = 1; in try_context_readahead()
369 struct file_ra_state *ra, struct file *filp, in ondemand_readahead() argument
373 unsigned long max = ra->ra_pages; in ondemand_readahead()
386 if ((offset == (ra->start + ra->size - ra->async_size) || in ondemand_readahead()
387 offset == (ra->start + ra->size))) { in ondemand_readahead()
388 ra->start += ra->size; in ondemand_readahead()
389 ra->size = get_next_ra_size(ra, max); in ondemand_readahead()
390 ra->async_size = ra->size; in ondemand_readahead()
410 ra->start = start; in ondemand_readahead()
411 ra->size = start - offset; /* old async_size */ in ondemand_readahead()
412 ra->size += req_size; in ondemand_readahead()
413 ra->size = get_next_ra_size(ra, max); in ondemand_readahead()
414 ra->async_size = ra->size; in ondemand_readahead()
429 prev_offset = (unsigned long long)ra->prev_pos >> PAGE_CACHE_SHIFT; in ondemand_readahead()
437 if (try_context_readahead(mapping, ra, offset, req_size, max)) in ondemand_readahead()
447 ra->start = offset; in ondemand_readahead()
448 ra->size = get_init_ra_size(req_size, max); in ondemand_readahead()
449 ra->async_size = ra->size > req_size ? ra->size - req_size : ra->size; in ondemand_readahead()
457 if (offset == ra->start && ra->size == ra->async_size) { in ondemand_readahead()
458 ra->async_size = get_next_ra_size(ra, max); in ondemand_readahead()
459 ra->size += ra->async_size; in ondemand_readahead()
462 return ra_submit(ra, mapping, filp); in ondemand_readahead()
480 struct file_ra_state *ra, struct file *filp, in page_cache_sync_readahead() argument
484 if (!ra->ra_pages) in page_cache_sync_readahead()
494 ondemand_readahead(mapping, ra, filp, false, offset, req_size); in page_cache_sync_readahead()
515 struct file_ra_state *ra, struct file *filp, in page_cache_async_readahead() argument
520 if (!ra->ra_pages) in page_cache_async_readahead()
538 ondemand_readahead(mapping, ra, filp, true, offset, req_size); in page_cache_async_readahead()