diff options
| author | Bryan Schumaker <bjschuma@netapp.com> | 2012-11-12 16:55:38 -0500 |
|---|---|---|
| committer | Ben Hutchings <ben@decadent.org.uk> | 2013-01-03 03:33:14 +0000 |
| commit | ddca0d4a9d185520a9a6eb551a34ff0c6d70418c (patch) | |
| tree | ef7ff9e655141fe3acbbcf34799331a40157c147 /drivers/gpu | |
| parent | e417ac027a2b834fe0dfc58c59e1a50828b8a577 (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: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'drivers/gpu')
0 files changed, 0 insertions, 0 deletions
