From f9de36e674dfd8eed3d71473167d5c28df686b62 Mon Sep 17 00:00:00 2001 From: Trond Myklebust Date: Tue, 2 Aug 2011 14:46:52 -0400 Subject: [PATCH] --- yaml --- r: 263110 b: refs/heads/master c: 910ac68a2b80c7de95bc8488734067b1bb15d583 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/nfs/callback_proc.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 50d9e4e6abb8..db2650792b5f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 55a673990ec04cf63005318bcf08c2b0046e5778 +refs/heads/master: 910ac68a2b80c7de95bc8488734067b1bb15d583 diff --git a/trunk/fs/nfs/callback_proc.c b/trunk/fs/nfs/callback_proc.c index 0ab82020f5db..43926add945b 100644 --- a/trunk/fs/nfs/callback_proc.c +++ b/trunk/fs/nfs/callback_proc.c @@ -452,6 +452,11 @@ __be32 nfs4_callback_sequence(struct cb_sequenceargs *args, if (test_bit(NFS4_SESSION_DRAINING, &clp->cl_session->session_state)) { spin_unlock(&tbl->slot_tbl_lock); status = htonl(NFS4ERR_DELAY); + /* Return NFS4ERR_BADSESSION if we're draining the session + * in order to reset it. + */ + if (test_bit(NFS4CLNT_SESSION_RESET, &clp->cl_state)) + status = htonl(NFS4ERR_BADSESSION); goto out; }