1. 22 3月, 2011 1 次提交
  2. 12 3月, 2011 1 次提交
  3. 16 1月, 2011 1 次提交
  4. 07 1月, 2011 1 次提交
  5. 02 12月, 2010 1 次提交
    • T
      NFS: Fix a memory leak in nfs_readdir · 11de3b11
      Trond Myklebust 提交于
      We need to ensure that the entries in the nfs_cache_array get cleared
      when the page is removed from the page cache. To do so, we use the
      freepage address_space operation.
      
      Change nfs_readdir_clear_array to use kmap_atomic(), so that the
      function can be safely called from all contexts.
      
      Finally, modify the cache_page_release helper to call
      nfs_readdir_clear_array directly, when dealing with an anonymous
      page from 'uncached_readdir'.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      11de3b11
  6. 17 11月, 2010 1 次提交
  7. 25 10月, 2010 3 次提交
  8. 18 9月, 2010 1 次提交
  9. 17 9月, 2010 2 次提交
  10. 20 8月, 2010 1 次提交
  11. 02 8月, 2010 1 次提交
  12. 31 7月, 2010 2 次提交
  13. 15 5月, 2010 1 次提交
  14. 23 4月, 2010 1 次提交
    • T
      NFS: Fix an unstable write data integrity race · 71d0a611
      Trond Myklebust 提交于
      Commit 2c61be0a (NFS: Ensure that the WRITE
      and COMMIT RPC calls are always uninterruptible) exposed a race on file
      close. In order to ensure correct close-to-open behaviour, we want to wait
      for all outstanding background commit operations to complete.
      
      This patch adds an inode flag that indicates if a commit operation is under
      way, and provides a mechanism to allow ->write_inode() to wait for its
      completion if this is a data integrity flush.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      71d0a611
  15. 06 3月, 2010 6 次提交
  16. 27 9月, 2009 1 次提交
  17. 12 8月, 2009 1 次提交
  18. 03 4月, 2009 3 次提交
  19. 28 3月, 2009 1 次提交
  20. 12 3月, 2009 2 次提交
    • 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
      fb8a1f11
  21. 24 12月, 2008 4 次提交
  22. 18 10月, 2008 1 次提交
  23. 15 10月, 2008 1 次提交
    • T
      NFS: Fix the resolution problem with nfs_inode_attrs_need_update() · 4704f0e2
      Trond Myklebust 提交于
      It appears that 'jiffies' timestamps do not have high enough resolution for
      nfs_inode_attrs_need_update(). One problem is that a GETATTR can be
      launched within < 1 jiffy of the last operation that updated the attribute.
      Another problem is that RPC calls can take < 1 jiffy to execute.
      
      We can fix this by switching the variables to use a simple global counter
      that gets incremented every time we start another GETATTR call.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      4704f0e2
  24. 08 10月, 2008 1 次提交
  25. 27 7月, 2008 1 次提交