Received: by 2002:a05:7412:b10a:b0:f3:1519:9f41 with SMTP id az10csp2760959rdb; Mon, 4 Dec 2023 06:58:24 -0800 (PST) X-Google-Smtp-Source: AGHT+IH+7HmHCGuyvoCpkp4gwo2kgs0I08ULjCts349oHrOWYFK5zUWswMJ8da9p3/jpkriYq7Lo X-Received: by 2002:a17:906:9e:b0:a19:a19a:ead0 with SMTP id 30-20020a170906009e00b00a19a19aead0mr2622285ejc.137.1701701904013; Mon, 04 Dec 2023 06:58:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701701904; cv=none; d=google.com; s=arc-20160816; b=V+mOWHpXV95STohitlD0iUG9k5VDrw3vzY4gks2swdqtZMwvUsfuhaz1aRLSQ1uDDS 57h1JoU0iRVqtDuwPUBip8VI+mUFfuUwLawpnxiiv2kcLsC++MrBBijS+bu+bXUAsWsx 081YBTgN7HXmgq4OgiMNPaZej0EdipTS/MiQAzZoMVsF/GsQJVslxfGLYPt1RMHBWcF9 k+F72CSfvu7namcW90diQodmuiXvjZdzXNhcknvJzx81sGEnuF+z0DoNT3AnoegrjnMu jVE8dvMHIvV2WkF+O9yX6cXFKrCwbkcu5C76uh1pSpxomHXH4n3sEtBTyr64SQXmEoZU LZOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:user-agent:references:in-reply-to :message-id:date:cc:to:from:subject:dkim-signature; bh=nhhQ9AC7uIJSaqWRfu8dV7btAD5uAlzY5ug2zG1DD8c=; fh=WfGVbliYpqgzl5GprTVUBQR8rnRPHqjfX8LKlqDYYGk=; b=TVft6LFrsh/oUt5BY7WDtsOO9nSgOJOMPKSy3tUxsn6fd0Eq7qHkVux/aQmf9z5Io7 v2hkoHoqxA+s2/PPqd/WB0krtQIao/yZnWmalKlaZY9giuZSZaW990TNx9Gk3f2K6LSo rnWWvcwySd8ywpJnnpWQA2ENq9Q0gqeH4TjqShr0QhS/B57eYjyERq+5F6xXKZRw5VfF A/V+fzRu7PcD/LCMUom6oERUu+O8kNJIUV3/QJY1CwVz949DIdd9ZxLhdP3MfuxBgPwe HMZMr3Mw18I8SsC3eGn3NLmRqgS4SwL+2SbEDBvF1bNIPRglQiEjrwjaP00JFzT8GAPn fCzg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=kNUeJoPI; spf=pass (google.com: domain of linux-nfs+bounces-294-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-nfs+bounces-294-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id i12-20020a17090671cc00b009b9b3370c09si4385054ejk.542.2023.12.04.06.58.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Dec 2023 06:58:24 -0800 (PST) Received-SPF: pass (google.com: domain of linux-nfs+bounces-294-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=kNUeJoPI; spf=pass (google.com: domain of linux-nfs+bounces-294-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-nfs+bounces-294-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 737B71F211DE for ; Mon, 4 Dec 2023 14:58:23 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C6C3128E1F; Mon, 4 Dec 2023 14:58:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="kNUeJoPI" X-Original-To: linux-nfs@vger.kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A7C2528DD7; Mon, 4 Dec 2023 14:58:21 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 432CEC433C7; Mon, 4 Dec 2023 14:58:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1701701901; bh=woHSLUIDXPWenqv8VoyQP+GxisT4jOzpskvsGkDI57U=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=kNUeJoPIbG0Qv2R99+q+E7oVefzLvTm4S8xoxUJhUPJtQ3oxsO8I5Kdshdy6RzpDw uMNEzHwyEClYxqxp+/hXCI622TZ0FUE93uY0Nt8ti+89focSny1jCQrVQh6pKPIm2G 0WtOuG8gl8QQLxln6bZW0hiAxjUxrjsafzPBsvdUMha8DJQf5w/GDd1dSCqP0Ql0ba 27xzws4OoH90E6ultxThaLK9Y74Y5rENnEaaATGWuN5aPTeSlVKKPgaAG7p1pcs4ze 97GI+/HqZnKwsPvCq4t92nRYI0zs8W5CUXt0C65UZCzICq9p3odaVF8DCX+OLLjWRJ UPX/DnMWehnTw== Subject: [PATCH v1 19/21] svcrdma: Update the synopsis of svc_rdma_read_special() From: Chuck Lever To: linux-nfs@vger.kernel.org, linux-rdma@vger.kernel.org Cc: tom@talpey.com Date: Mon, 04 Dec 2023 09:58:20 -0500 Message-ID: <170170190032.54779.14702452194868869890.stgit@bazille.1015granger.net> In-Reply-To: <170170144201.54779.9877683240030806819.stgit@bazille.1015granger.net> References: <170170144201.54779.9877683240030806819.stgit@bazille.1015granger.net> User-Agent: StGit/1.5 Precedence: bulk X-Mailing-List: linux-nfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit From: Chuck Lever Since the RDMA Read I/O state is now contained in the recv_ctxt, svc_rdma_read_special() can use that recv_ctxt to derive the read_info rather than the other way around. This removes another usage of the ri_readctxt field, enabling its removal in a subsequent patch. Signed-off-by: Chuck Lever --- net/sunrpc/xprtrdma/svc_rdma_rw.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/net/sunrpc/xprtrdma/svc_rdma_rw.c b/net/sunrpc/xprtrdma/svc_rdma_rw.c index f9d1b0463282..a3003c2dc0a2 100644 --- a/net/sunrpc/xprtrdma/svc_rdma_rw.c +++ b/net/sunrpc/xprtrdma/svc_rdma_rw.c @@ -1054,8 +1054,8 @@ static int svc_rdma_read_call_chunk(struct svc_rqst *rqstp, /** * svc_rdma_read_special - Build RDMA Read WQEs to pull a Long Message - * @rdma: controlling transport - * @info: context for RDMA Reads + * @rqstp: RPC transaction context + * @head: context for ongoing I/O * * The start of the data lands in the first page just after the * Transport header, and the rest lands in rqstp->rq_arg.pages. @@ -1071,23 +1071,22 @@ static int svc_rdma_read_call_chunk(struct svc_rqst *rqstp, * %-ENOTCONN: posting failed (connection is lost), * %-EIO: rdma_rw initialization failed (DMA mapping, etc). */ -static noinline int svc_rdma_read_special(struct svcxprt_rdma *rdma, - struct svc_rdma_read_info *info) +static noinline int svc_rdma_read_special(struct svc_rqst *rqstp, + struct svc_rdma_recv_ctxt *head) { - struct svc_rdma_recv_ctxt *head = info->ri_readctxt; - struct xdr_buf *buf = &info->ri_rqst->rq_arg; + struct xdr_buf *buf = &rqstp->rq_arg; int ret; - ret = svc_rdma_read_call_chunk(info->ri_rqst, info->ri_readctxt); + ret = svc_rdma_read_call_chunk(rqstp, head); if (ret < 0) goto out; buf->len += head->rc_readbytes; buf->buflen += head->rc_readbytes; - buf->head[0].iov_base = page_address(info->ri_rqst->rq_pages[0]); + buf->head[0].iov_base = page_address(rqstp->rq_pages[0]); buf->head[0].iov_len = min_t(size_t, PAGE_SIZE, head->rc_readbytes); - buf->pages = &info->ri_rqst->rq_pages[1]; + buf->pages = &rqstp->rq_pages[1]; buf->page_len = head->rc_readbytes - buf->head[0].iov_len; out: @@ -1142,7 +1141,7 @@ int svc_rdma_process_read_list(struct svcxprt_rdma *rdma, else ret = svc_rdma_read_multiple_chunks(rqstp, head); } else - ret = svc_rdma_read_special(rdma, info); + ret = svc_rdma_read_special(rqstp, head); if (ret < 0) goto out_err;