1. 21 Nov, 2012 1 commit
    • Bryan Schumaker's avatar
      NFS: Add sequence_priviliged_ops for nfs4_proc_sequence() · 6bdb5f21
      Bryan Schumaker authored
      If I mount an NFS v4.1 server to a single client multiple times and then
      run xfstests over each mountpoint I usually get the client into a state
      where recovery deadlocks.  The server informs the client of a
      cb_path_down sequence error, the client then does a
      bind_connection_to_session and checks the status of the lease.
      
      I found that bind_connection_to_session sets the NFS4_SESSION_DRAINING
      flag on the client, but this flag is never unset before
      nfs4_check_lease() reaches nfs4_proc_sequence().  This causes the client
      to deadlock, halting all NFS activity to the server.  nfs4_proc_sequence()
      is only called by the state manager, so I can change it to run in privileged
      mode to bypass the NFS4_SESSION_DRAINING check and avoid the deadlock.
      Signed-off-by: default avatarBryan Schumaker <bjschuma@netapp.com>
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      Cc: stable@vger.kernel.org
      6bdb5f21
  2. 04 Nov, 2012 39 commits