NFSD: Always initialize cl_cb_addr
A client may not want to use the back channel on a transport it sent CREATE_SESSION on, in which case it clears SESSION4_BACK_CHAN. However, cl_cb_addr should be populated anyway, to be used if the client binds other connections to this session. If cl_cb_addr is not initialized, rpc_create() fails when the server attempts to set up a back channel on such secondary transports. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
parent
280caac078
commit
b0d2e42cce
@ -1440,7 +1440,7 @@ static void init_session(struct svc_rqst *rqstp, struct nfsd4_session *new, stru
|
||||
list_add(&new->se_perclnt, &clp->cl_sessions);
|
||||
spin_unlock(&clp->cl_lock);
|
||||
|
||||
if (cses->flags & SESSION4_BACK_CHAN) {
|
||||
{
|
||||
struct sockaddr *sa = svc_addr(rqstp);
|
||||
/*
|
||||
* This is a little silly; with sessions there's no real
|
||||
|
Loading…
Reference in New Issue
Block a user