From: Long Li <longli-Lp/cVzEoVyZiJJESP9tAQJZ3qXmFLfmx@public.gmane.org>
To: Steve French <sfrench-eUNUBHrolfbYtjvyW6yDsg@public.gmane.org>,
linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
samba-technical-w/Ol4Ecudpl8XjKLYN78aQ@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Tom Talpey <ttalpey-0li6OtcxBFHby3iVrkZq2A@public.gmane.org>,
Matthew Wilcox <mawilcox-0li6OtcxBFHby3iVrkZq2A@public.gmane.org>,
Stephen Hemminger
<sthemmin-0li6OtcxBFHby3iVrkZq2A@public.gmane.org>
Cc: Long Li <longli-0li6OtcxBFHby3iVrkZq2A@public.gmane.org>
Subject: [Patch v5 18/21] CIFS: SMBD: Add parameter rdata to smb2_new_read_req
Date: Wed, 18 Oct 2017 16:09:17 -0700 [thread overview]
Message-ID: <20171018230920.21042-19-longli@exchange.microsoft.com> (raw)
In-Reply-To: <20171018230920.21042-1-longli-Lp/cVzEoVyZiJJESP9tAQJZ3qXmFLfmx@public.gmane.org>
From: Long Li <longli-0li6OtcxBFHby3iVrkZq2A@public.gmane.org>
This patch is for preparing upper layer for doing SMB read via RDMA write.
When we assemble the SMB read packet header, we need to know the I/O layout
if this request is to use a RDMA write. rdata has all the information we need
for memory registration. Add rdata to smb2_new_read_req.
Signed-off-by: Long Li <longli-0li6OtcxBFHby3iVrkZq2A@public.gmane.org>
---
fs/cifs/smb2pdu.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/fs/cifs/smb2pdu.c b/fs/cifs/smb2pdu.c
index 0841aba..8ef4a2f 100644
--- a/fs/cifs/smb2pdu.c
+++ b/fs/cifs/smb2pdu.c
@@ -2353,18 +2353,21 @@ SMB2_flush(const unsigned int xid, struct cifs_tcon *tcon, u64 persistent_fid,
*/
static int
smb2_new_read_req(void **buf, unsigned int *total_len,
- struct cifs_io_parms *io_parms, unsigned int remaining_bytes,
- int request_type)
+ struct cifs_io_parms *io_parms, struct cifs_readdata *rdata,
+ unsigned int remaining_bytes, int request_type)
{
int rc = -EACCES;
struct smb2_read_plain_req *req = NULL;
struct smb2_sync_hdr *shdr;
+ struct TCP_Server_Info *server;
rc = smb2_plain_req_init(SMB2_READ, io_parms->tcon, (void **) &req,
total_len);
if (rc)
return rc;
- if (io_parms->tcon->ses->server == NULL)
+
+ server = io_parms->tcon->ses->server;
+ if (server == NULL)
return -ECONNABORTED;
shdr = &req->sync_hdr;
@@ -2492,7 +2495,8 @@ smb2_async_readv(struct cifs_readdata *rdata)
server = io_parms.tcon->ses->server;
- rc = smb2_new_read_req((void **) &buf, &total_len, &io_parms, 0, 0);
+ rc = smb2_new_read_req(
+ (void **) &buf, &total_len, &io_parms, rdata, 0, 0);
if (rc) {
if (rc == -EAGAIN && rdata->credits) {
/* credits was reset by reconnect */
@@ -2560,7 +2564,7 @@ SMB2_read(const unsigned int xid, struct cifs_io_parms *io_parms,
struct cifs_ses *ses = io_parms->tcon->ses;
*nbytes = 0;
- rc = smb2_new_read_req((void **)&req, &total_len, io_parms, 0, 0);
+ rc = smb2_new_read_req((void **)&req, &total_len, io_parms, NULL, 0, 0);
if (rc)
return rc;
--
2.7.4
next prev parent reply other threads:[~2017-10-18 23:09 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-18 23:08 [Patch v5 00/21] CIFS: Implement SMB Direct protocol Long Li
2017-10-18 23:09 ` [Patch v5 01/21] CIFS: SMBD: Add SMB Direct protocol initial values and constants Long Li
[not found] ` <20171018230920.21042-2-longli-Lp/cVzEoVyZiJJESP9tAQJZ3qXmFLfmx@public.gmane.org>
2017-11-01 17:21 ` Steve French
[not found] ` <CAH2r5msbXygf-GaSLyy4q_k6pNR8zSKw2KwF3--oeofimdghag-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-11-01 18:49 ` Long Li
2017-10-18 23:09 ` [Patch v5 03/21] CIFS: SMBD: export protocol initial values Long Li
2017-10-18 23:09 ` [Patch v5 04/21] CIFS: SMBD: Add rdma mount option Long Li
2017-10-18 23:09 ` [Patch v5 05/21] CIFS: SMBD: Implement function to create a SMB Direct connection Long Li
2017-10-18 23:09 ` [Patch v5 06/21] CIFS: SMBD: Upper layer connects to SMBDirect session Long Li
2017-10-18 23:09 ` [Patch v5 08/21] CIFS: SMBD: Upper layer reconnects to SMB Direct session Long Li
[not found] ` <20171018230920.21042-9-longli-Lp/cVzEoVyZiJJESP9tAQJZ3qXmFLfmx@public.gmane.org>
2017-11-01 18:04 ` Pavel Shilovsky
2017-11-01 19:44 ` Matthew Wilcox
[not found] ` <BN6PR21MB083455CADF03A6BD40863968CB5F0-M7qishpO4ShSLOx3ThEYWs1VXTxX1y3OvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2017-11-05 18:37 ` Long Li
[not found] ` <MWHPR21MB01904A80D5C08396A7209471CE530-saRRjQKJ25M/hL2NnenhuM1VXTxX1y3OvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2017-11-05 19:19 ` Long Li
[not found] ` <MWHPR21MB019066558DAE185D630EC2E7CE530-saRRjQKJ25M/hL2NnenhuM1VXTxX1y3OvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2017-11-06 18:10 ` Matthew Wilcox
[not found] ` <DM5PR21MB08439FAD284B66941BD4E1A3CB500-wL6gkCBjFTaTOEAW4KKL081VXTxX1y3OvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2017-11-06 18:59 ` Long Li
[not found] ` <MWHPR21MB0846AFBFCA9D6CDC97060C5DCE500-saRRjQKJ25OdAu0pOMKhMc1VXTxX1y3OvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2017-11-06 20:25 ` Tom Talpey
2017-11-06 20:46 ` Long Li
2017-10-18 23:09 ` [Patch v5 09/21] CIFS: SMBD: Implement function to destroy a SMB Direct connection Long Li
2017-10-18 23:09 ` [Patch v5 10/21] CIFS: SMBD: Upper layer destroys SMB Direct session on shutdown or umount Long Li
2017-10-18 23:09 ` [Patch v5 12/21] CIFS: SMBD: Implement function to receive data via RDMA receive Long Li
2017-10-18 23:09 ` [Patch v5 13/21] CIFS: SMBD: Upper layer receives " Long Li
2017-10-18 23:09 ` [Patch v5 14/21] CIFS: SMBD: Implement function to send data via RDMA send Long Li
2017-10-18 23:09 ` [Patch v5 16/21] CIFS: SMBD: Implement RDMA memory registration Long Li
2017-10-18 23:09 ` [Patch v5 17/21] CIFS: SMBD: Upper layer performs SMB write via RDMA read through " Long Li
[not found] ` <20171018230920.21042-1-longli-Lp/cVzEoVyZiJJESP9tAQJZ3qXmFLfmx@public.gmane.org>
2017-10-18 23:09 ` [Patch v5 02/21] CIFS: SMBD: Establish SMB Direct connection Long Li
[not found] ` <20171018230920.21042-3-longli-Lp/cVzEoVyZiJJESP9tAQJZ3qXmFLfmx@public.gmane.org>
2017-11-01 17:19 ` Pavel Shilovsky
2017-11-01 18:48 ` Long Li
2017-10-18 23:09 ` [Patch v5 07/21] CIFS: SMBD: Implement function to reconnect to a SMB Direct transport Long Li
2017-10-18 23:09 ` [Patch v5 11/21] CIFS: SMBD: Set SMB Direct maximum read or write size for I/O Long Li
2017-10-18 23:09 ` [Patch v5 15/21] CIFS: SMBD: Upper layer sends data via RDMA send Long Li
2017-10-18 23:09 ` Long Li [this message]
2017-10-18 23:09 ` [Patch v5 19/21] CIFS: SMBD: Read correct returned data length for RDMA write (SMB read) I/O Long Li
[not found] ` <20171018230920.21042-20-longli-Lp/cVzEoVyZiJJESP9tAQJZ3qXmFLfmx@public.gmane.org>
2017-11-01 16:50 ` Pavel Shilovsky
[not found] ` <CAKywueSUUgxdxcdJbpo0YJTcxauVebzO45UPLD46zzrKVurc5A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-11-01 18:48 ` Long Li
2017-10-18 23:09 ` [Patch v5 20/21] CIFS: SMBD: Upper layer performs SMB read via RDMA write through memory registration Long Li
2017-10-18 23:09 ` [Patch v5 21/21] CIFS: SMBD: Add SMB Direct debug counters Long Li
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171018230920.21042-19-longli@exchange.microsoft.com \
--to=longli-lp/cvzeovyzijjesp9taqjz3qxmflfmx@public.gmane.org \
--cc=linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=longli-0li6OtcxBFHby3iVrkZq2A@public.gmane.org \
--cc=mawilcox-0li6OtcxBFHby3iVrkZq2A@public.gmane.org \
--cc=samba-technical-w/Ol4Ecudpl8XjKLYN78aQ@public.gmane.org \
--cc=sfrench-eUNUBHrolfbYtjvyW6yDsg@public.gmane.org \
--cc=sthemmin-0li6OtcxBFHby3iVrkZq2A@public.gmane.org \
--cc=ttalpey-0li6OtcxBFHby3iVrkZq2A@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox