@@ -295,10 +295,12 @@ struct svc_rqst {
struct svc_cacherep * rq_cacherep; /* cache info */
struct task_struct *rq_task; /* service thread */
spinlock_t rq_lock; /* per-request lock */
+ struct net * rq_bc_net; /* pointer to backchannel's
+ * net namespace
+ */
};
#define SVC_NET(svc_rqst) (svc_rqst->rq_xprt->xpt_net)
-
/*
* Rigorous type checking on sockaddr type conversions
*/
@@ -1463,6 +1463,7 @@ bc_svc_process(struct svc_serv *serv, struct rpc_rqst *req,
rqstp->rq_xid = req->rq_xid;
rqstp->rq_prot = req->rq_xprt->prot;
rqstp->rq_server = serv;
+ rqstp->rq_bc_net = req->rq_xprt->xprt_net;
rqstp->rq_addrlen = sizeof(req->rq_xprt->addr);
memcpy(&rqstp->rq_addr, &req->rq_xprt->addr, rqstp->rq_addrlen);
svc_rqst->rq_bc_net points to net namespace used during backchannel's request processing Signed-off-by: Vasily Averin <vvs@virtuozzo.com> --- include/linux/sunrpc/svc.h | 4 +++- net/sunrpc/svc.c | 1 + 2 files changed, 4 insertions(+), 1 deletion(-)