]> 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)
commitf4a923004662c37f5b45b77aff3cb350e0e80ef2
tree2a5dee3f1b6e15f7c5d9e927dfefa223b08f1c6b
parent855a3d8200bfec70bb6df61485dca35aa6a7c113
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