Changeset View
Changeset View
Standalone View
Standalone View
sys/fs/nfsserver/nfs_nfsdstate.c
Show First 20 Lines • Show All 715 Lines • ▼ Show 20 Lines | if (!error) { | ||||
if ((nsep->sess_crflags & NFSV4CRSESS_CONNBACKCHAN) | if ((nsep->sess_crflags & NFSV4CRSESS_CONNBACKCHAN) | ||||
!= 0) { | != 0) { | ||||
if (clp->lc_req.nr_client == NULL) | if (clp->lc_req.nr_client == NULL) | ||||
clp->lc_req.nr_client = (struct __rpc_client *) | clp->lc_req.nr_client = (struct __rpc_client *) | ||||
clnt_bck_create(nd->nd_xprt->xp_socket, | clnt_bck_create(nd->nd_xprt->xp_socket, | ||||
cbprogram, NFSV4_CBVERS); | cbprogram, NFSV4_CBVERS); | ||||
if (clp->lc_req.nr_client != NULL) { | if (clp->lc_req.nr_client != NULL) { | ||||
SVC_ACQUIRE(nd->nd_xprt); | SVC_ACQUIRE(nd->nd_xprt); | ||||
nd->nd_xprt->xp_p2 = | CLNT_ACQUIRE(clp->lc_req.nr_client); | ||||
clp->lc_req.nr_client->cl_private; | nd->nd_xprt->xp_p2 = clp->lc_req.nr_client; | ||||
/* Disable idle timeout. */ | /* Disable idle timeout. */ | ||||
nd->nd_xprt->xp_idletimeout = 0; | nd->nd_xprt->xp_idletimeout = 0; | ||||
nsep->sess_cbsess.nfsess_xprt = nd->nd_xprt; | nsep->sess_cbsess.nfsess_xprt = nd->nd_xprt; | ||||
} else | } else | ||||
nsep->sess_crflags &= ~NFSV4CRSESS_CONNBACKCHAN; | nsep->sess_crflags &= ~NFSV4CRSESS_CONNBACKCHAN; | ||||
} | } | ||||
NFSBCOPY(sessid, nsep->sess_sessionid, | NFSBCOPY(sessid, nsep->sess_sessionid, | ||||
NFSX_V4SESSIONID); | NFSX_V4SESSIONID); | ||||
▲ Show 20 Lines • Show All 5,724 Lines • ▼ Show 20 Lines | if (*foreaftp == NFSCDFC4_BACK || | ||||
clnt_bck_create(nd->nd_xprt->xp_socket, | clnt_bck_create(nd->nd_xprt->xp_socket, | ||||
sep->sess_cbprogram, NFSV4_CBVERS); | sep->sess_cbprogram, NFSV4_CBVERS); | ||||
} | } | ||||
if (clp->lc_req.nr_client != NULL) { | if (clp->lc_req.nr_client != NULL) { | ||||
NFSD_DEBUG(2, "nfsrv_bindconnsess: set up " | NFSD_DEBUG(2, "nfsrv_bindconnsess: set up " | ||||
"backchannel\n"); | "backchannel\n"); | ||||
savxprt = sep->sess_cbsess.nfsess_xprt; | savxprt = sep->sess_cbsess.nfsess_xprt; | ||||
SVC_ACQUIRE(nd->nd_xprt); | SVC_ACQUIRE(nd->nd_xprt); | ||||
nd->nd_xprt->xp_p2 = | CLNT_ACQUIRE(clp->lc_req.nr_client); | ||||
clp->lc_req.nr_client->cl_private; | nd->nd_xprt->xp_p2 = clp->lc_req.nr_client; | ||||
/* Disable idle timeout. */ | /* Disable idle timeout. */ | ||||
nd->nd_xprt->xp_idletimeout = 0; | nd->nd_xprt->xp_idletimeout = 0; | ||||
sep->sess_cbsess.nfsess_xprt = nd->nd_xprt; | sep->sess_cbsess.nfsess_xprt = nd->nd_xprt; | ||||
sep->sess_crflags |= NFSV4CRSESS_CONNBACKCHAN; | sep->sess_crflags |= NFSV4CRSESS_CONNBACKCHAN; | ||||
clp->lc_flags |= LCL_DONEBINDCONN | | clp->lc_flags |= LCL_DONEBINDCONN | | ||||
LCL_NEEDSCBNULL; | LCL_NEEDSCBNULL; | ||||
clp->lc_flags &= ~LCL_CBDOWN; | clp->lc_flags &= ~LCL_CBDOWN; | ||||
if (*foreaftp == NFSCDFS4_BACK) | if (*foreaftp == NFSCDFS4_BACK) | ||||
▲ Show 20 Lines • Show All 2,297 Lines • Show Last 20 Lines |