From ce200a4c2d36609859837b7e65cd10ae2d3964fc Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Thu, 7 Apr 2011 16:05:35 -0400 Subject: [PATCH] recovery: fix for expired clientid on retried CREATE_SESSION Signed-off-by: Casey Bodley --- daemon/nfs41_compound.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/daemon/nfs41_compound.c b/daemon/nfs41_compound.c index f2118c8..d3dcedb 100644 --- a/daemon/nfs41_compound.c +++ b/daemon/nfs41_compound.c @@ -372,6 +372,13 @@ retry: status = ERROR_BAD_NET_RESP; goto out; } + if (compound->args.argarray[0].op == OP_CREATE_SESSION) { + nfs41_create_session_args *csa = (nfs41_create_session_args*) + compound->args.argarray[0].arg; + AcquireSRWLockShared(&session->client->exid_lock); + csa->csa_clientid = session->client->clnt_id; + AcquireSRWLockShared(&session->client->exid_lock); + } goto do_retry; case NFS4ERR_BADSESSION: