mirror of https://gitee.com/openkylin/linux.git
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: Tom Tucker <tom@opengridcomputing.com> Acked-by: Neil Brown <neilb@suse.de> Reviewed-by: Chuck Lever <chuck.lever@oracle.com> Reviewed-by: Greg Banks <gnb@sgi.com> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
This commit is contained in:
parent
4e5caaa5f2
commit
57b1d3baba
|
@ -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)
|
||||||
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)
|
||||||
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 {
|
||||||
|
|
||||||
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)
|
||||||
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)
|
||||||
}
|
}
|
||||||
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)
|
||||||
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)
|
||||||
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,
|
||||||
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)
|
||||||
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)
|
||||||
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;
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue