]> git.baikalelectronics.ru Git - kernel.git/commit
CIFS: SMBD: Implement function to receive data via RDMA receive
authorLong Li <longli@microsoft.com>
Thu, 23 Nov 2017 00:38:40 +0000 (17:38 -0700)
committerSteve French <smfrench@gmail.com>
Thu, 25 Jan 2018 01:49:06 +0000 (19:49 -0600)
commitc62f7147330765eea207e3a72298f1e06f49af8a
tree2a5dee3f1b6e15f7c5d9e927dfefa223b08f1c6b
parente6b7f0be8d8dff015a95bfb96892635ecd8aa7f7
CIFS: SMBD: Implement function to receive data via RDMA receive

On the receive path, the transport maintains receive buffers and a reassembly
queue for transferring payload via RDMA recv. There is data copy in the
transport on recv when it copies the payload to upper layer.

The transport recognizes the RFC1002 header length use in the SMB
upper layer payloads in CIFS. Because this length is mainly used for TCP and
not applicable to RDMA, it is handled as a out-of-band information and is
never sent over the wire, and the trasnport behaves like TCP to upper layer
by processing and exposing the length correctly on data payloads.

Signed-off-by: Long Li <longli@microsoft.com>
Signed-off-by: Steve French <smfrench@gmail.com>
Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
fs/cifs/smbdirect.c
fs/cifs/smbdirect.h