1. 06 4月, 2013 3 次提交
  2. 12 2月, 2013 1 次提交
    • T
      NFSv4.1: Don't lose locks when a server reboots during delegation return · d25be546
      Trond Myklebust 提交于
      If the server reboots while we are converting a delegation into
      OPEN/LOCK stateids as part of a delegation return, the current code
      will simply exit with an error. This causes us to lose both
      delegation state and locking state (i.e. locking atomicity).
      
      Deal with this by exposing the delegation stateid during delegation
      return, so that we can recover the delegation, and then resume
      open/lock recovery.
      
      Note that not having to hold the nfs_inode->rwsem across the
      calls to nfs_delegation_claim_opens() also fixes a deadlock against
      the NFSv4.1 reboot recovery code.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      d25be546
  3. 31 7月, 2012 1 次提交
  4. 29 6月, 2012 3 次提交
  5. 09 5月, 2012 1 次提交
  6. 11 3月, 2012 1 次提交
    • T
      NFSv4.0: Re-establish the callback channel on NFS4ERR_CB_PATHDOWN · ad1e3968
      Trond Myklebust 提交于
      When the NFSv4.0 server tells us that it can no-longer talk to us
      on the callback channel, we should attempt a new SETCLIENTID in
      order to re-transmit the callback channel information.
      
      Note that as long as we do not change the boot verifier, this is
      a safe procedure; the server is required to keep our state.
      
      Also move the function nfs_handle_cb_pathdown to fs/nfs/nfs4state.c,
      and change the name in order to mark it as being specific to NFSv4.0.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      ad1e3968
  7. 09 3月, 2012 1 次提交
  8. 06 3月, 2012 1 次提交
    • T
      NFS: Properly handle the case where the delegation is revoked · a1d0b5ee
      Trond Myklebust 提交于
      If we know that the delegation stateid is bad or revoked, we need to
      remove that delegation as soon as possible, and then mark all the
      stateids that relied on that delegation for recovery. We cannot use
      the delegation as part of the recovery process.
      
      Also note that NFSv4.1 uses a different error code (NFS4ERR_DELEG_REVOKED)
      to indicate that the delegation was revoked.
      
      Finally, ensure that setlk() and setattr() can both recover safely from
      a revoked delegation.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      Cc: stable@vger.kernel.org
      a1d0b5ee
  9. 07 1月, 2011 1 次提交
    • C
      NFS: Move cl_delegations to the nfs_server struct · d3978bb3
      Chuck Lever 提交于
      Delegations are per-inode, not per-nfs_client.  When a server file
      system is migrated, delegations on the client must be moved from the
      source to the destination nfs_server.  Make it easier to manage a
      mount point's delegation list across a migration event by moving the
      list to the nfs_server struct.
      
      Clean up: I added documenting comments to public functions I changed
      in this patch.  For consistency I added comments to all the other
      public functions in fs/nfs/delegation.c.
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      d3978bb3
  10. 23 6月, 2010 1 次提交
  11. 11 3月, 2010 1 次提交
  12. 06 12月, 2009 2 次提交
  13. 03 12月, 2009 1 次提交
    • T
      NFSv4: Fix a potential state manager deadlock when returning delegations · d18cc1fd
      Trond Myklebust 提交于
      The nfsv4 state manager could potentially deadlock inside
      __nfs_inode_return_delegation() if the server reboots, so that the calls to
      nfs_msync_inode() end up waiting on state recovery to complete.
      
      Also ensure that if a server reboot or network partition causes us to have
      to stop returning delegations, that NFS4CLNT_DELEGRETURN is set so that
      the state manager can resume any outstanding delegation returns after it
      has dealt with the state recovery situation.
      
      Finally, ensure that the state manager doesn't wait for the DELEGRETURN
      call to complete. It doesn't need to, and that too can cause a deadlock.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      d18cc1fd
  14. 24 12月, 2008 6 次提交
  15. 30 1月, 2008 1 次提交
  16. 11 7月, 2007 4 次提交
  17. 23 9月, 2006 1 次提交
  18. 21 3月, 2006 1 次提交
  19. 07 1月, 2006 2 次提交
  20. 05 11月, 2005 1 次提交
  21. 19 10月, 2005 1 次提交
  22. 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