aboutsummaryrefslogtreecommitdiffstats
path: root/mm/readahead.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/readahead.c')
-rw-r--r--mm/readahead.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/mm/readahead.c b/mm/readahead.c
index 7f9bf588c936..072ce8f8357d 100644
--- a/mm/readahead.c
+++ b/mm/readahead.c
@@ -592,3 +592,22 @@ unsigned long max_sane_readahead(unsigned long nr)
592 return min(nr, (node_page_state(numa_node_id(), NR_INACTIVE) 592 return min(nr, (node_page_state(numa_node_id(), NR_INACTIVE)
593 + node_page_state(numa_node_id(), NR_FREE_PAGES)) / 2); 593 + node_page_state(numa_node_id(), NR_FREE_PAGES)) / 2);
594} 594}
595
596/*
597 * Submit IO for the read-ahead request in file_ra_state.
598 */
599unsigned long ra_submit(struct file_ra_state *ra,
600 struct address_space *mapping, struct file *filp)
601{
602 unsigned long ra_size;
603 unsigned long la_size;
604 int actual;
605
606 ra_size = ra_readahead_size(ra);
607 la_size = ra_lookahead_size(ra);
608 actual = __do_page_cache_readahead(mapping, filp,
609 ra->ra_index, ra_size, la_size);
610
611 return actual;
612}
613EXPORT_SYMBOL_GPL(ra_submit);