nfs41: Don't clear DRAINING flag on NFS4ERR_STALE_CLIENTID
authorRicardo Labiaga <Ricardo.Labiaga@netapp.com>
Sun, 6 Dec 2009 17:57:34 +0000 (12:57 -0500)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Sun, 6 Dec 2009 17:57:34 +0000 (12:57 -0500)
commit9dfdf404c99347e2e224e25f8626e7b6399a05cd
tree7bad4e6c06b5f12548dbd3ec91fab56877808400
parent9430fb6b5315f7bc94b05be915c64ebfefc55bbc
nfs41: Don't clear DRAINING flag on NFS4ERR_STALE_CLIENTID

If CREATE_SESSION fails with NFS4ERR_STALE_CLIENTID, don't clear the
NFS4CLNT_SESSION_DRAINING flag and don't wake RPCs waiting for the
session to be reestablished.  We don't have a session yet, so there
is no reason to wake other RPCs.

This avoids sending spurious compounds with bogus sequenceID during
session and state recovery.

Signed-off-by: Ricardo Labiaga <Ricardo.Labiaga@netapp.com>
[Trond.Myklebust@netapp.com: cleaned up patch by adding the
                             nfs41_begin/end_drain_session() helpers]
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/nfs4proc.c
fs/nfs/nfs4state.c