NFSv4.1: Retry CREATE_SESSION on NFS4ERR_DELAY
Fix bug where we currently retry the EXCHANGEID call again, eventhough we already have a valid clientid. Instead, delay and retry the CREATE_SESSION call. Signed-off-by: Ricardo Labiaga <Ricardo.Labiaga@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
parent
4cea288aaf
commit
7d6d63d642
1 changed files with 11 additions and 1 deletions
|
@ -5028,10 +5028,20 @@ int nfs4_proc_create_session(struct nfs_client *clp)
|
|||
int status;
|
||||
unsigned *ptr;
|
||||
struct nfs4_session *session = clp->cl_session;
|
||||
long timeout = 0;
|
||||
int err;
|
||||
|
||||
dprintk("--> %s clp=%p session=%p\n", __func__, clp, session);
|
||||
|
||||
do {
|
||||
status = _nfs4_proc_create_session(clp);
|
||||
if (status == -NFS4ERR_DELAY) {
|
||||
err = nfs4_delay(clp->cl_rpcclient, &timeout);
|
||||
if (err)
|
||||
status = err;
|
||||
}
|
||||
} while (status == -NFS4ERR_DELAY);
|
||||
|
||||
if (status)
|
||||
goto out;
|
||||
|
||||
|
|
Loading…
Reference in a new issue