1. 23 Dec, 2008 3 commits
    • Trond Myklebust's avatar
      SUNRPC: Convert the xdr helpers and rpc_pipefs to EXPORT_SYMBOL_GPL · 468039ee
      Trond Myklebust authored
      We've never considered the sunrpc code as part of any ABI to be used by
      out-of-tree modules.
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      468039ee
    • Trond Myklebust's avatar
      SUNRPC: Remove the last remnant of the BKL... · 88a9fe8c
      Trond Myklebust authored
      Somehow, this escaped the previous purge. There should be no need to keep
      any extra locks in the XDR callbacks.
      
      The NFS client XDR code only writes into private objects, whereas all reads
      of shared objects are confined to fields that do not change, such as
      filehandles...
      
      Ditto for lockd, the NFSv2/v3 client mount code, and rpcbind.
      
      The nfsd XDR code may require the BKL, but since it does a synchronous RPC
      call from a thread that already holds the lock, that issue is moot.
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      88a9fe8c
    • Wu Fengguang's avatar
      nfs: remove redundant tests on reading new pages · 136221fc
      Wu Fengguang authored
      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: default avatarWu Fengguang <wfg@linux.intel.com>
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      136221fc
  2. 20 Dec, 2008 4 commits
  3. 19 Dec, 2008 20 commits
  4. 18 Dec, 2008 12 commits
  5. 17 Dec, 2008 1 commit