1. 18 6月, 2009 32 次提交
  2. 27 5月, 2009 1 次提交
  3. 01 4月, 2009 1 次提交
  4. 20 3月, 2009 1 次提交
    • T
      NFS: Optimise NFS close() · 7fe5c398
      Trond Myklebust 提交于
      Close-to-open cache consistency rules really only require us to flush out
      writes on calls to close(), and require us to revalidate attributes on the
      very last close of the file.
      
      Currently we appear to be doing a lot of extra attribute revalidation
      and cache flushes.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      7fe5c398
  5. 12 3月, 2009 3 次提交
    • T
      NFS: Throttle page dirtying while we're flushing to disk · 72cb77f4
      Trond Myklebust 提交于
      The following patch is a combination of a patch by myself and Peter
      Staubach.
      
      Trond: If we allow other processes to dirty pages while a process is doing
      a consistency sync to disk, we can end up never making progress.
      
      Peter: Attached is a patch which addresses a continuing problem with
      the NFS client generating out of order WRITE requests.  While
      this is compliant with all of the current protocol
      specifications, there are servers in the market which can not
      handle out of order WRITE requests very well.  Also, this may
      lead to sub-optimal block allocations in the underlying file
      system on the server.  This may cause the read throughputs to
      be reduced when reading the file from the server.
      
      Peter: There has been a lot of work recently done to address out of
      order issues on a systemic level.  However, the NFS client is
      still susceptible to the problem.  Out of order WRITE
      requests can occur when pdflush is in the middle of writing
      out pages while the process dirtying the pages calls
      generic_file_buffered_write which calls
      generic_perform_write which calls
      balance_dirty_pages_rate_limited which ends up calling
      writeback_inodes which ends up calling back into the NFS
      client to writes out dirty pages for the same file that
      pdflush happens to be working with.
      Signed-off-by: NPeter Staubach <staubach@redhat.com>
      [modification by Trond to merge the two similar patches]
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      72cb77f4
    • T
      NFSv4: Simplify some cache consistency post-op GETATTRs · a65318bf
      Trond Myklebust 提交于
      Certain asynchronous operations such as write() do not expect
      (or care) that other metadata such as the file owner, mode, acls, ...
      change. All they want to do is update and/or check the change attribute,
      ctime, and mtime.
      By skipping the file owner and group update, we also avoid having to do a
      potential idmapper upcall for these asynchronous RPC calls.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      a65318bf
    • T
      NFSv4: A referral is assumed to always point to a directory. · 69aaaae1
      Trond Myklebust 提交于
      Fix a bug whereby we would fail to create a mount point for a referral.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      69aaaae1
  6. 31 12月, 2008 1 次提交
  7. 24 12月, 2008 1 次提交
    • T
      NFSv4: Fix an infinite loop in the NFS state recovery code · 027b6ca0
      Trond Myklebust 提交于
      Marten Gajda <marten.gajda@fernuni-hagen.de> states:
      
      I tracked the problem down to the function nfs4_do_open_expired.
      Within this function _nfs4_open_expired is called and may return
      -NFS4ERR_DELAY. When a further call to _nfs4_open_expired is
      executed and does not return -NFS4ERR_DELAY the "exception.retry"
      variable is not reset to 0, causing the loop to iterate again
      (and as long as err != -NFS4ERR_DELAY, probably forever)
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      027b6ca0