From: Long Li <longli@linuxonhyperv.com>
To: Steve French <sfrench@samba.org>,
linux-cifs@vger.kernel.org, samba-technical@lists.samba.org,
linux-kernel@vger.kernel.org, linux-rdma@vger.kernel.org
Cc: Long Li <longli@microsoft.com>
Subject: [Patch v3 00/16] CIFS: add support for direct I/O
Date: Sat, 8 Sep 2018 02:13:32 +0000 [thread overview]
Message-ID: <20180908021348.19956-1-longli@linuxonhyperv.com> (raw)
From: Long Li <longli@microsoft.com>
This patch set implements direct I/O.
In normal code path (even with cache=none), CIFS copies I/O data from
user-space to kernel-space for security reasons of possible protocol
required signing and encryption on user data.
With this patch set, CIFS passes the I/O data directly from user-space
buffer to the transport layer, when file system is mounted with
"cache-none".
Patch v2 addressed comments from Christoph Hellwig <hch@lst.de> and
Tom Talpey <ttalpey@microsoft.com> to implement direct I/O for both
socket and RDMA.
Patch v3 added support for kernel AIO.
Long Li (16):
CIFS: Add support for direct pages in rdata
CIFS: Use offset when reading pages
CIFS: Add support for direct pages in wdata
CIFS: pass page offset when issuing SMB write
CIFS: Calculate the correct request length based on page offset and
tail size
CIFS: Introduce helper function to get page offset and length in
smb_rqst
CIFS: When sending data on socket, pass the correct page offset
CIFS: SMBD: Support page offset in RDMA send
CIFS: SMBD: Support page offset in RDMA recv
CIFS: SMBD: Do not call ib_dereg_mr on invalidated memory registration
CIFS: SMBD: Support page offset in memory registration
CIFS: Pass page offset for calculating signature
CIFS: Pass page offset for encrypting
CIFS: Add support for direct I/O read
CIFS: Add support for direct I/O write
CIFS: Add direct I/O functions to file_operations
fs/cifs/cifsencrypt.c | 9 +-
fs/cifs/cifsfs.c | 10 +-
fs/cifs/cifsfs.h | 2 +
fs/cifs/cifsglob.h | 11 +-
fs/cifs/cifsproto.h | 9 +-
fs/cifs/cifssmb.c | 19 +-
fs/cifs/connect.c | 5 +-
fs/cifs/file.c | 477 ++++++++++++++++++++++++++++++++++++++++++--------
fs/cifs/misc.c | 17 ++
fs/cifs/smb2ops.c | 22 ++-
fs/cifs/smb2pdu.c | 20 ++-
fs/cifs/smbdirect.c | 156 ++++++++++-------
fs/cifs/smbdirect.h | 2 +-
fs/cifs/transport.c | 34 ++--
14 files changed, 606 insertions(+), 187 deletions(-)
--
2.7.4
next reply other threads:[~2018-09-08 2:13 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-08 2:13 Long Li [this message]
2018-09-08 2:13 ` [Patch v3 01/16] CIFS: Add support for direct pages in rdata Long Li
2018-09-08 2:13 ` [Patch v3 02/16] CIFS: Use offset when reading pages Long Li
2018-09-08 2:13 ` [Patch v3 03/16] CIFS: Add support for direct pages in wdata Long Li
2018-09-08 2:13 ` [Patch v3 04/16] CIFS: pass page offset when issuing SMB write Long Li
2018-09-08 2:13 ` [Patch v3 05/16] CIFS: Calculate the correct request length based on page offset and tail size Long Li
2018-09-08 2:13 ` [Patch v3 06/16] CIFS: Introduce helper function to get page offset and length in smb_rqst Long Li
2018-09-08 2:13 ` [Patch v3 07/16] CIFS: When sending data on socket, pass the correct page offset Long Li
2018-09-08 2:13 ` [Patch v3 08/16] CIFS: SMBD: Support page offset in RDMA send Long Li
2018-09-08 2:13 ` [Patch v3 09/16] CIFS: SMBD: Support page offset in RDMA recv Long Li
2018-09-08 2:13 ` [Patch v3 10/16] CIFS: SMBD: Do not call ib_dereg_mr on invalidated memory registration Long Li
2018-09-08 2:13 ` [Patch v3 11/16] CIFS: SMBD: Support page offset in " Long Li
2018-09-08 2:13 ` [Patch v3 12/16] CIFS: Pass page offset for calculating signature Long Li
2018-09-08 2:13 ` [Patch v3 13/16] CIFS: Pass page offset for encrypting Long Li
2018-09-08 2:13 ` [Patch v3 14/16] CIFS: Add support for direct I/O read Long Li
2018-09-08 2:13 ` [Patch v3 15/16] CIFS: Add support for direct I/O write Long Li
2018-09-08 2:13 ` [Patch v3 16/16] CIFS: Add direct I/O functions to file_operations Long Li
2018-09-15 9:28 ` [Patch v3 00/16] CIFS: add support for direct I/O Steve French
2018-09-15 20:57 ` 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=20180908021348.19956-1-longli@linuxonhyperv.com \
--to=longli@linuxonhyperv.com \
--cc=linux-cifs@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=longli@microsoft.com \
--cc=samba-technical@lists.samba.org \
--cc=sfrench@samba.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.