Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753543AbdHTTGZ (ORCPT ); Sun, 20 Aug 2017 15:06:25 -0400 Received: from a2nlsmtp01-02.prod.iad2.secureserver.net ([198.71.225.36]:53674 "EHLO a2nlsmtp01-02.prod.iad2.secureserver.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753512AbdHTTGW (ORCPT ); Sun, 20 Aug 2017 15:06:22 -0400 x-originating-ip: 107.180.71.197 From: Long Li To: Steve French , linux-cifs@vger.kernel.org, samba-technical@lists.samba.org, linux-kernel@vger.kernel.org, linux-rdma@vger.kernel.org, Christoph Hellwig , Tom Talpey , Matthew Wilcox Cc: Long Li Subject: [Patch v2 00/19] CIFS: Implement SMBDirect Date: Sun, 20 Aug 2017 12:04:24 -0700 Message-Id: <1503255883-3041-1-git-send-email-longli@exchange.microsoft.com> X-Mailer: git-send-email 1.7.1 X-CMAE-Envelope: MS4wfJOdn5xdrleWgCPpK8C5KM9AaZ1UdQy+nnxqDDT1HgeQqlKemMeL2ppOxJS3xN7Jbo4amXIcFwyas0RVfi/J9wY5AfQTVaV+U4XhCj2u5+ZhYyEQ4avU ELSGtpiWfUNYsv62mvuNt1t/uSWnAt56jjVS11xkvMPO8F+lCpdTasIEDVsQB70iFXtZBoErHnE11cm/2z57sAgx1FFQYHGjRBHd175Sw5ed0pfhcRJYfJIe zeXaK/1IECKAPMawJQzXIFH9Ck9/+jXqCIFDDBmdtsZOv5QlVnxHVxlmWS+aX0d465wHTkRi9f4smbNravWqXz77TgyfOXiqg6kaDO1oH3hohXzaaDJwhRek DBde+1GvZDAJCJEa7DP20zxX5cnjfxTV7GYmJvMz22F5+RkKtjQg9Ruoy4tjj4c+qp0+csMfEBjR/oJnDmJxkXmu1RbM/AF+8972CR2z9knISX6d3CCkiLgG 2/+FGPHRE6FONroK Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2117 Lines: 49 From: Long Li Starting with SMB2 dialect 3.0, Microsoft introduced SMBDirect transport protocol for transferring upper layer (SMB2) payload over RDMA via Infiniband, RoCE or iWARP. The prococol is published in [MS-SMBD] (https://msdn.microsoft.com/en-us/library/hh536346.aspx). The patch v2 added RDMA read/write via memory registration, and addressed feedbacks on v1. Long Li (19): CIFS: Add rdma mount option CIFS: SMBD: Add SMBDirect protocol and transport constants CIFS: SMBD: Implement SMBDirect transport CIFS: SMBD: Add SMBDirect transport to SMB connection and Makefile CIFS: SMBD: Connect to SMBDirect session CIFS: SMBD: Reconnect to SMBDirect session CIFS: SMBD: Destroy SMBDirect session on shutdown or umount CIFS: SMBD: Set SMBDirect maximum read or write size for I/O CIFS: SMBD: Read data from SMBDirect CIFS: SMBD: Send data through SMBDirect CIFS: SMBD: Define memory registration for I/O data CIFS: SMBD: Fix the definition for SMB2_CHANNEL_RDMA_V1_INVALIDATE CIFS: SMBD: Use registered memory RDMA read for SMB write CIFS: SMBD: Deregister memory when finishing SMB write CIFS: SMBD: Add parameter rdata to smb2_new_read_req CIFS: SMBD: Read correct returned data length for RDMA write (SMB READ) I/O CIFS: SMBD: Do not read from transport on registered memory RDMA write (SMB READ) CIFS: SMBD: Deregister memory when finishing SMB read CIFS: SMBD: Add SMBDirect debug counters fs/cifs/Makefile | 2 +- fs/cifs/cifs_debug.c | 48 ++ fs/cifs/cifsfs.c | 2 + fs/cifs/cifsglob.h | 17 +- fs/cifs/cifssmb.c | 4 +- fs/cifs/connect.c | 62 +- fs/cifs/file.c | 5 + fs/cifs/smb1ops.c | 2 +- fs/cifs/smb2ops.c | 21 +- fs/cifs/smb2pdu.c | 114 ++- fs/cifs/smb2pdu.h | 2 +- fs/cifs/smbdirect.c | 2328 ++++++++++++++++++++++++++++++++++++++++++++++++++ fs/cifs/smbdirect.h | 300 +++++++ fs/cifs/transport.c | 7 + 14 files changed, 2895 insertions(+), 19 deletions(-) create mode 100644 fs/cifs/smbdirect.c create mode 100644 fs/cifs/smbdirect.h -- 2.7.4