1. 08 12月, 2010 1 次提交
    • T
      nfs: remove extraneous and problematic calls to nfs_clear_request · 2df485a7
      Trond Myklebust 提交于
      When a nfs_page is freed, nfs_free_request is called which also calls
      nfs_clear_request to clean out the lock and open contexts and free the
      pagecache page.
      
      However, a couple of places in the nfs code call nfs_clear_request
      themselves. What happens here if the refcount on the request is still high?
      We'll be releasing contexts and freeing pointers while the request is
      possibly still in use.
      
      Remove those bare calls to nfs_clear_context. That should only be done when
      the request is being freed.
      
      Note that when doing this, we need to watch out for tests of req->wb_page.
      Previously, nfs_set_page_tag_locked() and nfs_clear_page_tag_locked()
      would check the value of req->wb_page to figure out if the page is mapped
      into the nfsi->nfs_page_tree. We now indicate the page is mapped using
      the new bit PG_MAPPED in req->wb_flags .
      Reported-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      2df485a7
  2. 31 7月, 2010 1 次提交
  3. 10 7月, 2008 1 次提交
    • T
      NFS: Allow redirtying of a completed unstable write. · e468bae9
      Trond Myklebust 提交于
      Currently, if an unstable write completes, we cannot redirty the page in
      order to reflect a new change in the page data until after we've sent a
      COMMIT request.
      
      This patch allows a page rewrite to proceed without the unnecessary COMMIT
      step, putting it immediately back onto the dirty page list, undoing the
      VM unstable write accounting, and removing the NFS_PAGE_TAG_COMMIT tag from
      the NFS radix tree.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      e468bae9
  4. 30 1月, 2008 1 次提交
  5. 10 10月, 2007 1 次提交
  6. 11 7月, 2007 4 次提交
  7. 24 5月, 2007 1 次提交
    • T
      NFS: Avoid a deadlock situation on write · 7fe7f848
      Trond Myklebust 提交于
      When processes are allowed to attempt to lock a non-contiguous range of nfs
      write requests, it is possible for generic_writepages to 'wrap round' the
      address space, and call writepage() on a request that is already locked by
      the same process.
      
      We avoid the deadlock by checking if the page index is contiguous with the
      list of nfs write requests that is already held in our
      nfs_pageio_descriptor prior to attempting to lock a new request.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      7fe7f848
  8. 01 5月, 2007 6 次提交
  9. 21 4月, 2007 1 次提交
  10. 15 4月, 2007 1 次提交
  11. 06 12月, 2006 3 次提交
  12. 09 6月, 2006 2 次提交
  13. 07 1月, 2006 1 次提交
  14. 23 6月, 2005 2 次提交
  15. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4