Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d75faea3 authored by J. Bruce Fields's avatar J. Bruce Fields
Browse files

rpc: move sk_bc_xprt to svc_xprt



This seems obviously transport-level information even if it's currently
used only by the server socket code.

Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
parent dcbeaa68
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -79,6 +79,7 @@ struct svc_xprt {
	struct list_head	xpt_users;	/* callbacks on free */

	struct net		*xpt_net;
	struct rpc_xprt		*xpt_bc_xprt;	/* NFSv4.1 backchannel */
};

static inline void unregister_xpt_user(struct svc_xprt *xpt, struct svc_xpt_user *u)
+0 −1
Original line number Diff line number Diff line
@@ -28,7 +28,6 @@ struct svc_sock {
	/* private TCP part */
	u32			sk_reclen;	/* length of record */
	u32			sk_tcplen;	/* current read length */
	struct rpc_xprt		*sk_bc_xprt;	/* NFSv4.1 backchannel xprt */
};

/*
+6 −4
Original line number Diff line number Diff line
@@ -987,15 +987,17 @@ static int svc_process_calldir(struct svc_sock *svsk, struct svc_rqst *rqstp,
		vec[0] = rqstp->rq_arg.head[0];
	} else {
		/* REPLY */
		if (svsk->sk_bc_xprt)
			req = xprt_lookup_rqst(svsk->sk_bc_xprt, xid);
		struct rpc_xprt *bc_xprt = svsk->sk_xprt.xpt_bc_xprt;

		if (bc_xprt)
			req = xprt_lookup_rqst(bc_xprt, xid);

		if (!req) {
			printk(KERN_NOTICE
				"%s: Got unrecognized reply: "
				"calldir 0x%x sk_bc_xprt %p xid %08x\n",
				"calldir 0x%x xpt_bc_xprt %p xid %08x\n",
				__func__, ntohl(calldir),
				svsk->sk_bc_xprt, xid);
				bc_xprt, xid);
			vec[0] = rqstp->rq_arg.head[0];
			goto out;
		}
+1 −1
Original line number Diff line number Diff line
@@ -2379,9 +2379,9 @@ static struct rpc_xprt *xs_setup_bc_tcp(struct xprt_create *args)
	 * The backchannel uses the same socket connection as the
	 * forechannel
	 */
	args->bc_xprt->xpt_bc_xprt = xprt;
	xprt->bc_xprt = args->bc_xprt;
	bc_sock = container_of(args->bc_xprt, struct svc_sock, sk_xprt);
	bc_sock->sk_bc_xprt = xprt;
	transport->sock = bc_sock->sk_sock;
	transport->inet = bc_sock->sk_sk;