summaryrefslogtreecommitdiff
path: root/fs/nfsd
diff options
context:
space:
mode:
authorBryan Schumaker <bjschuma@netapp.com>2012-11-12 16:55:38 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-11 09:18:36 -0800
commit4d436f1d25a6bf4788dfc5eeed043137b47115f3 (patch)
tree1c9b00b619d33553cf8175c571f52d59f213aeab /fs/nfsd
parentb500eb39c56d89b45c088cba868f20abcfd63cbf (diff)
NFS: Add sequence_priviliged_ops for nfs4_proc_sequence()
commit 6bdb5f213c4344324f600dde885f25768fbd14db upstream. 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: Bryan Schumaker <bjschuma@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/nfsd')
0 files changed, 0 insertions, 0 deletions