Lines Matching refs:ra

25  * memset *ra to zero.
28 file_ra_state_init(struct file_ra_state *ra, struct address_space *mapping)
30 ra->ra_pages = mapping->backing_dev_info->ra_pages;
31 ra->prev_pos = -1;
248 * for 128k (32 page) max ra
269 static unsigned long get_next_ra_size(struct file_ra_state *ra,
272 unsigned long cur = ra->size;
344 struct file_ra_state *ra,
367 ra->start = offset;
368 ra->size = min(size + req_size, max);
369 ra->async_size = 1;
379 struct file_ra_state *ra, struct file *filp,
383 unsigned long max = max_sane_readahead(ra->ra_pages);
396 if ((offset == (ra->start + ra->size - ra->async_size) ||
397 offset == (ra->start + ra->size))) {
398 ra->start += ra->size;
399 ra->size = get_next_ra_size(ra, max);
400 ra->async_size = ra->size;
420 ra->start = start;
421 ra->size = start - offset; /* old async_size */
422 ra->size += req_size;
423 ra->size = get_next_ra_size(ra, max);
424 ra->async_size = ra->size;
439 prev_offset = (unsigned long long)ra->prev_pos >> PAGE_CACHE_SHIFT;
447 if (try_context_readahead(mapping, ra, offset, req_size, max))
457 ra->start = offset;
458 ra->size = get_init_ra_size(req_size, max);
459 ra->async_size = ra->size > req_size ? ra->size - req_size : ra->size;
467 if (offset == ra->start && ra->size == ra->async_size) {
468 ra->async_size = get_next_ra_size(ra, max);
469 ra->size += ra->async_size;
472 return ra_submit(ra, mapping, filp);
478 * @ra: file_ra_state which holds the readahead state
490 struct file_ra_state *ra, struct file *filp,
494 if (!ra->ra_pages)
504 ondemand_readahead(mapping, ra, filp, false, offset, req_size);
511 * @ra: file_ra_state which holds the readahead state
525 struct file_ra_state *ra, struct file *filp,
530 if (!ra->ra_pages)
548 ondemand_readahead(mapping, ra, filp, true, offset, req_size);