From 0d51be591f3b56b4e3c83f4ca09b61ad33c76b69 Mon Sep 17 00:00:00 2001
From: Andrew Morton <akpm@digeo.com>
Date: Tue, 18 Feb 2003 05:24:42 -0800
Subject: [PATCH] [PATCH] export add_to_page_cache() and __pagevec_lru_add to

CIFS is using these.

Given that the readpages() address_space op is supposed to add the pages to
pagecache, it makes sense to make these functions available to modules.

I can't say that I put a lot of though into the readpages API.  It was
designed as just enough functionality to be able to stuff a bunch of
readahead pages into a single BIO.  The only reason I made it an a_op at all
was because we have toi enter the fs to pick up the ->get_block callback's
address.

But a couple of filesystems seem to be making use of it now.  Reiser4 will
need access at the do_page_cache_readahead() level too.
---
 kernel/ksyms.c | 2 ++
 mm/filemap.c   | 1 +
 2 files changed, 3 insertions(+)

diff --git a/kernel/ksyms.c b/kernel/ksyms.c
index f0503df9fe3d..f30934957b82 100644
--- a/kernel/ksyms.c
+++ b/kernel/ksyms.c
@@ -31,6 +31,7 @@
 #include <linux/genhd.h>
 #include <linux/blkpg.h>
 #include <linux/swap.h>
+#include <linux/pagevec.h>
 #include <linux/ctype.h>
 #include <linux/file.h>
 #include <linux/console.h>
@@ -80,6 +81,7 @@ EXPORT_SYMBOL(__alloc_pages);
 EXPORT_SYMBOL(__get_free_pages);
 EXPORT_SYMBOL(get_zeroed_page);
 EXPORT_SYMBOL(__page_cache_release);
+EXPORT_SYMBOL(__pagevec_lru_add);
 EXPORT_SYMBOL(__free_pages);
 EXPORT_SYMBOL(free_pages);
 EXPORT_SYMBOL(num_physpages);
diff --git a/mm/filemap.c b/mm/filemap.c
index 80be4e6d869c..f6009bff7467 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -225,6 +225,7 @@ int add_to_page_cache(struct page *page, struct address_space *mapping,
 	}
 	return error;
 }
+EXPORT_SYMBOL(add_to_page_cache);
 
 int add_to_page_cache_lru(struct page *page, struct address_space *mapping,
 				pgoff_t offset, int gfp_mask)
-- 
2.30.9