]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
SUNRPC: Ensure rq_bytes_sent is reset before request transmission
authorTrond Myklebust <trondmy@gmail.com>
Wed, 2 Jan 2019 22:53:10 +0000 (17:53 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 27 Feb 2019 09:09:49 +0000 (10:09 +0100)
[ Upstream commit e66721f0436396f779291a29616858b76bfd9415 ]

When we resend a request, ensure that the 'rq_bytes_sent' is reset
to zero.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/sunrpc/clnt.c
net/sunrpc/xprt.c

index 24cbddc44c884ce6fa9a4ba51a7e85c30953edd2..2189fbc4c570492c150cd1ed6bcd9ce5f1a19a29 100644 (file)
@@ -1738,7 +1738,6 @@ rpc_xdr_encode(struct rpc_task *task)
        xdr_buf_init(&req->rq_rcv_buf,
                     req->rq_rbuffer,
                     req->rq_rcvsize);
-       req->rq_bytes_sent = 0;
 
        p = rpc_encode_header(task);
        if (p == NULL) {
index 943f08be7c3872b79ffcb5f35d8e86064fbdecce..f1ec2110efebe6315523036bd11e30dbdf7c8de4 100644 (file)
@@ -1151,6 +1151,7 @@ xprt_request_enqueue_transmit(struct rpc_task *task)
        struct rpc_xprt *xprt = req->rq_xprt;
 
        if (xprt_request_need_enqueue_transmit(task, req)) {
+               req->rq_bytes_sent = 0;
                spin_lock(&xprt->queue_lock);
                /*
                 * Requests that carry congestion control credits are added