Loading fs/nfs/callback.c +16 −1 Original line number Diff line number Diff line Loading @@ -185,16 +185,31 @@ nfs41_callback_svc(void *vrqstp) struct svc_rqst * nfs41_callback_up(struct svc_serv *serv, struct rpc_xprt *xprt) { struct svc_xprt *bc_xprt; struct svc_rqst *rqstp = ERR_PTR(-ENOMEM); dprintk("--> %s\n", __func__); /* Create a svc_sock for the service */ bc_xprt = svc_sock_create(serv, xprt->prot); if (!bc_xprt) goto out; /* * Save the svc_serv in the transport so that it can * be referenced when the session backchannel is initialized */ serv->bc_xprt = bc_xprt; xprt->bc_serv = serv; INIT_LIST_HEAD(&serv->sv_cb_list); spin_lock_init(&serv->sv_cb_lock); init_waitqueue_head(&serv->sv_cb_waitq); return svc_prepare_thread(serv, &serv->sv_pools[0]); rqstp = svc_prepare_thread(serv, &serv->sv_pools[0]); if (IS_ERR(rqstp)) svc_sock_destroy(bc_xprt); out: dprintk("--> %s return %p\n", __func__, rqstp); return rqstp; } static inline int nfs_minorversion_callback_svc_setup(u32 minorversion, Loading net/sunrpc/svc.c +1 −0 Original line number Diff line number Diff line Loading @@ -1258,6 +1258,7 @@ bc_svc_process(struct svc_serv *serv, struct rpc_rqst *req, int error; /* Build the svc_rqst used by the common processing routine */ rqstp->rq_xprt = serv->bc_xprt; rqstp->rq_xid = req->rq_xid; rqstp->rq_prot = req->rq_xprt->prot; rqstp->rq_server = serv; Loading Loading
fs/nfs/callback.c +16 −1 Original line number Diff line number Diff line Loading @@ -185,16 +185,31 @@ nfs41_callback_svc(void *vrqstp) struct svc_rqst * nfs41_callback_up(struct svc_serv *serv, struct rpc_xprt *xprt) { struct svc_xprt *bc_xprt; struct svc_rqst *rqstp = ERR_PTR(-ENOMEM); dprintk("--> %s\n", __func__); /* Create a svc_sock for the service */ bc_xprt = svc_sock_create(serv, xprt->prot); if (!bc_xprt) goto out; /* * Save the svc_serv in the transport so that it can * be referenced when the session backchannel is initialized */ serv->bc_xprt = bc_xprt; xprt->bc_serv = serv; INIT_LIST_HEAD(&serv->sv_cb_list); spin_lock_init(&serv->sv_cb_lock); init_waitqueue_head(&serv->sv_cb_waitq); return svc_prepare_thread(serv, &serv->sv_pools[0]); rqstp = svc_prepare_thread(serv, &serv->sv_pools[0]); if (IS_ERR(rqstp)) svc_sock_destroy(bc_xprt); out: dprintk("--> %s return %p\n", __func__, rqstp); return rqstp; } static inline int nfs_minorversion_callback_svc_setup(u32 minorversion, Loading
net/sunrpc/svc.c +1 −0 Original line number Diff line number Diff line Loading @@ -1258,6 +1258,7 @@ bc_svc_process(struct svc_serv *serv, struct rpc_rqst *req, int error; /* Build the svc_rqst used by the common processing routine */ rqstp->rq_xprt = serv->bc_xprt; rqstp->rq_xid = req->rq_xid; rqstp->rq_prot = req->rq_xprt->prot; rqstp->rq_server = serv; Loading