diff options
| author | Trond Myklebust <trond.myklebust@fys.uio.no> | 2002-11-05 04:49:33 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2002-11-05 04:49:33 -0800 |
| commit | b9a2dd766f71192d0f4e24d1430832a3b0eb4750 (patch) | |
| tree | 86359495323ec71ca4b1b502849db1187bbbc878 /kernel | |
| parent | b729e488b9902f8ba95d2064e4a6a809000ff3b1 (diff) | |
[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.
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/ksyms.c | 1 |
1 files changed, 1 insertions, 0 deletions
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); |
