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.


 ksyms.c   |    2 ++
 filemap.c |    1 +
 2 files changed, 3 insertions(+)

diff -puN mm/filemap.c~cifs-exports mm/filemap.c
--- 25/mm/filemap.c~cifs-exports	2003-02-16 19:51:20.000000000 -0800
+++ 25-akpm/mm/filemap.c	2003-02-16 19:51:20.000000000 -0800
@@ -225,6 +225,7 @@ int add_to_page_cache(struct page *page,
 	}
 	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)
diff -puN kernel/ksyms.c~cifs-exports kernel/ksyms.c
--- 25/kernel/ksyms.c~cifs-exports	2003-02-16 19:51:20.000000000 -0800
+++ 25-akpm/kernel/ksyms.c	2003-02-16 19:51:40.000000000 -0800
@@ -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);

_