Commit 57b1d3ba authored by Tom Tucker's avatar Tom Tucker Committed by J. Bruce Fields

svc: Removing remaining references to rq_sock in rqstp

This functionally empty patch removes rq_sock and unamed union
from rqstp structure.
Signed-off-by: default avatarTom Tucker <tom@opengridcomputing.com>
Acked-by: default avatarNeil Brown <neilb@suse.de>
Reviewed-by: default avatarChuck Lever <chuck.lever@oracle.com>
Reviewed-by: default avatarGreg Banks <gnb@sgi.com>
Signed-off-by: default avatarJ. Bruce Fields <bfields@citi.umich.edu>
parent 4e5caaa5
...@@ -204,10 +204,7 @@ union svc_addr_u { ...@@ -204,10 +204,7 @@ union svc_addr_u {
struct svc_rqst { struct svc_rqst {
struct list_head rq_list; /* idle list */ struct list_head rq_list; /* idle list */
struct list_head rq_all; /* all threads list */ struct list_head rq_all; /* all threads list */
union { struct svc_xprt * rq_xprt; /* transport ptr */
struct svc_xprt * rq_xprt; /* transport ptr */
struct svc_sock * rq_sock; /* socket ptr */
};
struct sockaddr_storage rq_addr; /* peer address */ struct sockaddr_storage rq_addr; /* peer address */
size_t rq_addrlen; size_t rq_addrlen;
......
...@@ -201,10 +201,12 @@ static void svc_release_skb(struct svc_rqst *rqstp) ...@@ -201,10 +201,12 @@ static void svc_release_skb(struct svc_rqst *rqstp)
struct svc_deferred_req *dr = rqstp->rq_deferred; struct svc_deferred_req *dr = rqstp->rq_deferred;
if (skb) { if (skb) {
struct svc_sock *svsk =
container_of(rqstp->rq_xprt, struct svc_sock, sk_xprt);
rqstp->rq_xprt_ctxt = NULL; rqstp->rq_xprt_ctxt = NULL;
dprintk("svc: service %p, releasing skb %p\n", rqstp, skb); dprintk("svc: service %p, releasing skb %p\n", rqstp, skb);
skb_free_datagram(rqstp->rq_sock->sk_sk, skb); skb_free_datagram(svsk->sk_sk, skb);
} }
if (dr) { if (dr) {
rqstp->rq_deferred = NULL; rqstp->rq_deferred = NULL;
...@@ -418,7 +420,7 @@ svc_wake_up(struct svc_serv *serv) ...@@ -418,7 +420,7 @@ svc_wake_up(struct svc_serv *serv)
dprintk("svc: daemon %p woken up.\n", rqstp); dprintk("svc: daemon %p woken up.\n", rqstp);
/* /*
svc_thread_dequeue(pool, rqstp); svc_thread_dequeue(pool, rqstp);
rqstp->rq_sock = NULL; rqstp->rq_xprt = NULL;
*/ */
wake_up(&rqstp->rq_wait); wake_up(&rqstp->rq_wait);
} }
...@@ -435,7 +437,9 @@ union svc_pktinfo_u { ...@@ -435,7 +437,9 @@ union svc_pktinfo_u {
static void svc_set_cmsg_data(struct svc_rqst *rqstp, struct cmsghdr *cmh) static void svc_set_cmsg_data(struct svc_rqst *rqstp, struct cmsghdr *cmh)
{ {
switch (rqstp->rq_sock->sk_sk->sk_family) { struct svc_sock *svsk =
container_of(rqstp->rq_xprt, struct svc_sock, sk_xprt);
switch (svsk->sk_sk->sk_family) {
case AF_INET: { case AF_INET: {
struct in_pktinfo *pki = CMSG_DATA(cmh); struct in_pktinfo *pki = CMSG_DATA(cmh);
...@@ -468,7 +472,8 @@ static void svc_set_cmsg_data(struct svc_rqst *rqstp, struct cmsghdr *cmh) ...@@ -468,7 +472,8 @@ static void svc_set_cmsg_data(struct svc_rqst *rqstp, struct cmsghdr *cmh)
static int static int
svc_sendto(struct svc_rqst *rqstp, struct xdr_buf *xdr) svc_sendto(struct svc_rqst *rqstp, struct xdr_buf *xdr)
{ {
struct svc_sock *svsk = rqstp->rq_sock; struct svc_sock *svsk =
container_of(rqstp->rq_xprt, struct svc_sock, sk_xprt);
struct socket *sock = svsk->sk_sock; struct socket *sock = svsk->sk_sock;
int slen; int slen;
union { union {
...@@ -541,7 +546,7 @@ svc_sendto(struct svc_rqst *rqstp, struct xdr_buf *xdr) ...@@ -541,7 +546,7 @@ svc_sendto(struct svc_rqst *rqstp, struct xdr_buf *xdr)
} }
out: out:
dprintk("svc: socket %p sendto([%p %Zu... ], %d) = %d (addr %s)\n", dprintk("svc: socket %p sendto([%p %Zu... ], %d) = %d (addr %s)\n",
rqstp->rq_sock, xdr->head[0].iov_base, xdr->head[0].iov_len, svsk, xdr->head[0].iov_base, xdr->head[0].iov_len,
xdr->len, len, svc_print_addr(rqstp, buf, sizeof(buf))); xdr->len, len, svc_print_addr(rqstp, buf, sizeof(buf)));
return len; return len;
...@@ -617,7 +622,8 @@ svc_recv_available(struct svc_sock *svsk) ...@@ -617,7 +622,8 @@ svc_recv_available(struct svc_sock *svsk)
static int static int
svc_recvfrom(struct svc_rqst *rqstp, struct kvec *iov, int nr, int buflen) svc_recvfrom(struct svc_rqst *rqstp, struct kvec *iov, int nr, int buflen)
{ {
struct svc_sock *svsk = rqstp->rq_sock; struct svc_sock *svsk =
container_of(rqstp->rq_xprt, struct svc_sock, sk_xprt);
struct msghdr msg = { struct msghdr msg = {
.msg_flags = MSG_DONTWAIT, .msg_flags = MSG_DONTWAIT,
}; };
...@@ -707,7 +713,9 @@ svc_write_space(struct sock *sk) ...@@ -707,7 +713,9 @@ svc_write_space(struct sock *sk)
static void svc_udp_get_dest_address(struct svc_rqst *rqstp, static void svc_udp_get_dest_address(struct svc_rqst *rqstp,
struct cmsghdr *cmh) struct cmsghdr *cmh)
{ {
switch (rqstp->rq_sock->sk_sk->sk_family) { struct svc_sock *svsk =
container_of(rqstp->rq_xprt, struct svc_sock, sk_xprt);
switch (svsk->sk_sk->sk_family) {
case AF_INET: { case AF_INET: {
struct in_pktinfo *pki = CMSG_DATA(cmh); struct in_pktinfo *pki = CMSG_DATA(cmh);
rqstp->rq_daddr.addr.s_addr = pki->ipi_spec_dst.s_addr; rqstp->rq_daddr.addr.s_addr = pki->ipi_spec_dst.s_addr;
...@@ -727,7 +735,8 @@ static void svc_udp_get_dest_address(struct svc_rqst *rqstp, ...@@ -727,7 +735,8 @@ static void svc_udp_get_dest_address(struct svc_rqst *rqstp,
static int static int
svc_udp_recvfrom(struct svc_rqst *rqstp) svc_udp_recvfrom(struct svc_rqst *rqstp)
{ {
struct svc_sock *svsk = rqstp->rq_sock; struct svc_sock *svsk =
container_of(rqstp->rq_xprt, struct svc_sock, sk_xprt);
struct svc_serv *serv = svsk->sk_xprt.xpt_server; struct svc_serv *serv = svsk->sk_xprt.xpt_server;
struct sk_buff *skb; struct sk_buff *skb;
union { union {
...@@ -1109,7 +1118,8 @@ static struct svc_xprt *svc_tcp_accept(struct svc_xprt *xprt) ...@@ -1109,7 +1118,8 @@ static struct svc_xprt *svc_tcp_accept(struct svc_xprt *xprt)
static int static int
svc_tcp_recvfrom(struct svc_rqst *rqstp) svc_tcp_recvfrom(struct svc_rqst *rqstp)
{ {
struct svc_sock *svsk = rqstp->rq_sock; struct svc_sock *svsk =
container_of(rqstp->rq_xprt, struct svc_sock, sk_xprt);
struct svc_serv *serv = svsk->sk_xprt.xpt_server; struct svc_serv *serv = svsk->sk_xprt.xpt_server;
int len; int len;
struct kvec *vec; struct kvec *vec;
...@@ -1273,16 +1283,16 @@ svc_tcp_sendto(struct svc_rqst *rqstp) ...@@ -1273,16 +1283,16 @@ svc_tcp_sendto(struct svc_rqst *rqstp)
reclen = htonl(0x80000000|((xbufp->len ) - 4)); reclen = htonl(0x80000000|((xbufp->len ) - 4));
memcpy(xbufp->head[0].iov_base, &reclen, 4); memcpy(xbufp->head[0].iov_base, &reclen, 4);
if (test_bit(XPT_DEAD, &rqstp->rq_sock->sk_xprt.xpt_flags)) if (test_bit(XPT_DEAD, &rqstp->rq_xprt->xpt_flags))
return -ENOTCONN; return -ENOTCONN;
sent = svc_sendto(rqstp, &rqstp->rq_res); sent = svc_sendto(rqstp, &rqstp->rq_res);
if (sent != xbufp->len) { if (sent != xbufp->len) {
printk(KERN_NOTICE "rpc-srv/tcp: %s: %s %d when sending %d bytes - shutting down socket\n", printk(KERN_NOTICE "rpc-srv/tcp: %s: %s %d when sending %d bytes - shutting down socket\n",
rqstp->rq_sock->sk_xprt.xpt_server->sv_name, rqstp->rq_xprt->xpt_server->sv_name,
(sent<0)?"got error":"sent only", (sent<0)?"got error":"sent only",
sent, xbufp->len); sent, xbufp->len);
set_bit(XPT_CLOSE, &rqstp->rq_sock->sk_xprt.xpt_flags); set_bit(XPT_CLOSE, &rqstp->rq_xprt->xpt_flags);
svc_xprt_enqueue(rqstp->rq_xprt); svc_xprt_enqueue(rqstp->rq_xprt);
sent = -EAGAIN; sent = -EAGAIN;
} }
...@@ -1302,7 +1312,7 @@ static void svc_tcp_prep_reply_hdr(struct svc_rqst *rqstp) ...@@ -1302,7 +1312,7 @@ static void svc_tcp_prep_reply_hdr(struct svc_rqst *rqstp)
static int svc_tcp_has_wspace(struct svc_xprt *xprt) static int svc_tcp_has_wspace(struct svc_xprt *xprt)
{ {
struct svc_sock *svsk = container_of(xprt, struct svc_sock, sk_xprt); struct svc_sock *svsk = container_of(xprt, struct svc_sock, sk_xprt);
struct svc_serv *serv = svsk->sk_xprt.xpt_server; struct svc_serv *serv = svsk->sk_xprt.xpt_server;
int required; int required;
int wspace; int wspace;
...@@ -1625,7 +1635,7 @@ svc_recv(struct svc_rqst *rqstp, long timeout) ...@@ -1625,7 +1635,7 @@ svc_recv(struct svc_rqst *rqstp, long timeout)
void void
svc_drop(struct svc_rqst *rqstp) svc_drop(struct svc_rqst *rqstp)
{ {
dprintk("svc: socket %p dropped request\n", rqstp->rq_sock); dprintk("svc: xprt %p dropped request\n", rqstp->rq_xprt);
svc_xprt_release(rqstp); svc_xprt_release(rqstp);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment