From b9a2dd766f71192d0f4e24d1430832a3b0eb4750 Mon Sep 17 00:00:00 2001 From: Trond Myklebust Date: Tue, 5 Nov 2002 04:49:33 -0800 Subject: [PATCH] Convert NFS client to use ->readpages() - Add the library function read_cache_pages(), which is used in a similar fashion to the single page 'read_cache_page()'. It hides the details of the LRU cache etc. from a filesystem that wants to to populate an address space with a list of pages. - Fix NFS so that readahead uses the ->readpages() interface. Means that we can immediately schedule an RPC call in order to complete the I/O, rather than relying on somebody later triggering it by calling lock_page() (and hence sync_page()). The sync_page() method is race-prone, since the waiting page may try to call it before we've finished initializing the 'struct nfs_page'. - Clear out nfs_sync_page(), the nfs_inode->read list, and friends. When the I/O completion gets scheduled in ->readpage(), ->readpages(), they have no reason to exist. --- kernel/ksyms.c | 1 + 1 file changed, 1 insertion(+) (limited to 'kernel') diff --git a/kernel/ksyms.c b/kernel/ksyms.c index c41423568d02..fac863fb462e 100644 --- a/kernel/ksyms.c +++ b/kernel/ksyms.c @@ -284,6 +284,7 @@ EXPORT_SYMBOL(find_lock_page); EXPORT_SYMBOL(find_or_create_page); EXPORT_SYMBOL(grab_cache_page_nowait); EXPORT_SYMBOL(read_cache_page); +EXPORT_SYMBOL(read_cache_pages); EXPORT_SYMBOL(mark_page_accessed); EXPORT_SYMBOL(vfs_readlink); EXPORT_SYMBOL(vfs_follow_link); -- cgit v1.2.3