diff options
author | Wu Fengguang <fengguang.wu@intel.com> | 2008-12-23 15:21:30 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2008-12-23 15:21:30 -0500 |
commit | 136221fc3219b3805c48db5da065e8e3467175d4 (patch) | |
tree | 62fa68f46cb765143b6159993eceb30a6b81f9b2 /net | |
parent | 3d44cc3e01ee1b40317f79ed54324e25c4f848df (diff) | |
download | op-kernel-dev-136221fc3219b3805c48db5da065e8e3467175d4.zip op-kernel-dev-136221fc3219b3805c48db5da065e8e3467175d4.tar.gz |
nfs: remove redundant tests on reading new pages
aops->readpages() and its NFS helper readpage_async_filler() will only
be called to do readahead I/O for newly allocated pages. So it's not
necessary to test for the always 0 dirty/uptodate page flags.
The removal of nfs_wb_page() call also fixes a readahead bug: the NFS
readahead has been synchronous since 2.6.23, because that call will
clear PG_readahead, which is the reminder for asynchronous readahead.
More background: the PG_readahead page flag is shared with PG_reclaim,
one for read path and the other for write path. clear_page_dirty_for_io()
unconditionally clears PG_readahead to prevent possible readahead residuals,
assuming itself to be always called in the write path. However, NFS is one
and the only exception in that it _always_ calls clear_page_dirty_for_io()
in the read path, i.e. for readpages()/readpage().
Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'net')
0 files changed, 0 insertions, 0 deletions