]> git.itanic.dy.fi Git - linux-stable/commitdiff
SUNRPC: Remove svc_rqst::rq_xprt_hlen
authorChuck Lever <chuck.lever@oracle.com>
Wed, 6 Apr 2022 18:38:59 +0000 (14:38 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 24 May 2023 16:36:50 +0000 (17:36 +0100)
[ Upstream commit 983084b2672c593959e3148d6a17c8b920797dde ]

Clean up: This field is now always set to zero.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Stable-dep-of: 948f072ada23 ("SUNRPC: always free ctxt when freeing deferred request")
Signed-off-by: Sasha Levin <sashal@kernel.org>
include/linux/sunrpc/svc.h
include/trace/events/sunrpc.h
net/sunrpc/svc_xprt.c
net/sunrpc/svcsock.c
net/sunrpc/xprtrdma/svc_rdma_recvfrom.c

index 045f34add206fbc93c6d0f6b9d06d6c140eb24e9..664a54e330af33678abe38dd5d679b8ae4522b0d 100644 (file)
@@ -246,7 +246,6 @@ struct svc_rqst {
        void *                  rq_xprt_ctxt;   /* transport specific context ptr */
        struct svc_deferred_req*rq_deferred;    /* deferred request we are replaying */
 
-       size_t                  rq_xprt_hlen;   /* xprt header len */
        struct xdr_buf          rq_arg;
        struct xdr_stream       rq_arg_stream;
        struct xdr_stream       rq_res_stream;
@@ -386,7 +385,6 @@ struct svc_deferred_req {
        size_t                  daddrlen;
        void                    *xprt_ctxt;
        struct cache_deferred_req handle;
-       size_t                  xprt_hlen;
        int                     argslen;
        __be32                  args[];
 };
index d49426c0444c905e79f7e45fe79375cc059ff897..f09bbb6c918e29b078e406d830bfc80d37900a9c 100644 (file)
@@ -1928,8 +1928,7 @@ DECLARE_EVENT_CLASS(svc_deferred_event,
 
        TP_fast_assign(
                __entry->dr = dr;
-               __entry->xid = be32_to_cpu(*(__be32 *)(dr->args +
-                                                      (dr->xprt_hlen>>2)));
+               __entry->xid = be32_to_cpu(*(__be32 *)dr->args);
                __assign_sockaddr(addr, &dr->addr, dr->addrlen);
        ),
 
index 139ef1951a0e850001b9cc8446ee96c1cb49ba2b..5da8e87979f15b686225d87e979531f61e463a0b 100644 (file)
@@ -1212,7 +1212,6 @@ static struct cache_deferred_req *svc_defer(struct cache_req *req)
                dr->addrlen = rqstp->rq_addrlen;
                dr->daddr = rqstp->rq_daddr;
                dr->argslen = rqstp->rq_arg.len >> 2;
-               dr->xprt_hlen = rqstp->rq_xprt_hlen;
                dr->xprt_ctxt = rqstp->rq_xprt_ctxt;
 
                /* back up head to the start of the buffer and copy */
@@ -1241,22 +1240,21 @@ static noinline int svc_deferred_recv(struct svc_rqst *rqstp)
        trace_svc_defer_recv(dr);
 
        /* setup iov_base past transport header */
-       rqstp->rq_arg.head[0].iov_base = dr->args + (dr->xprt_hlen>>2);
+       rqstp->rq_arg.head[0].iov_base = dr->args;
        /* The iov_len does not include the transport header bytes */
-       rqstp->rq_arg.head[0].iov_len = (dr->argslen<<2) - dr->xprt_hlen;
+       rqstp->rq_arg.head[0].iov_len = dr->argslen << 2;
        rqstp->rq_arg.page_len = 0;
        /* The rq_arg.len includes the transport header bytes */
-       rqstp->rq_arg.len     = dr->argslen<<2;
+       rqstp->rq_arg.len     = dr->argslen << 2;
        rqstp->rq_prot        = dr->prot;
        memcpy(&rqstp->rq_addr, &dr->addr, dr->addrlen);
        rqstp->rq_addrlen     = dr->addrlen;
        /* Save off transport header len in case we get deferred again */
-       rqstp->rq_xprt_hlen   = dr->xprt_hlen;
        rqstp->rq_daddr       = dr->daddr;
        rqstp->rq_respages    = rqstp->rq_pages;
        rqstp->rq_xprt_ctxt   = dr->xprt_ctxt;
        svc_xprt_received(rqstp->rq_xprt);
-       return (dr->argslen<<2) - dr->xprt_hlen;
+       return dr->argslen << 2;
 }
 
 
index a28a6820852b2ed32cb21fe159b1f44e00fc2cb0..9a0a27d1199f5ff646762e0da2c56b60e514db2f 100644 (file)
@@ -250,8 +250,6 @@ static ssize_t svc_tcp_read_msg(struct svc_rqst *rqstp, size_t buflen,
        ssize_t len;
        size_t t;
 
-       rqstp->rq_xprt_hlen = 0;
-
        clear_bit(XPT_DATA, &svsk->sk_xprt.xpt_flags);
 
        for (i = 0, t = 0; t < buflen; i++, t += PAGE_SIZE) {
index 387a5da09dafb9bb3d9f1f1021b933e4be330c61..f7603428616947ad536d835e4fc9a475db727e8b 100644 (file)
@@ -826,7 +826,6 @@ int svc_rdma_recvfrom(struct svc_rqst *rqstp)
                goto out_err;
        if (ret == 0)
                goto out_drop;
-       rqstp->rq_xprt_hlen = 0;
 
        if (svc_rdma_is_reverse_direction_reply(xprt, ctxt))
                goto out_backchannel;