RE: [[PATCH v1] 23/37] [CIFS] SMBD: Implement API for upper layer to reconnect transport

2017-08-14 Thread Long Li
> -Original Message- > From: Tom Talpey > Sent: Monday, August 14, 2017 2:03 PM > To: Long Li ; Steve French ; > linux-c...@vger.kernel.org; samba-techni...@lists.samba.org; linux- > ker...@vger.kernel.org > Subject: RE: [[PATCH v1] 23/37] [CIFS] SMBD: Implement API

RE: [[PATCH v1] 30/37] [CIFS] SMBD: Add SMBDirect transport to Makefile

2017-08-14 Thread Long Li
> -Original Message- > From: Tom Talpey > Sent: Monday, August 14, 2017 2:20 PM > To: Long Li ; Steve French ; > linux-c...@vger.kernel.org; samba-techni...@lists.samba.org; linux- > ker...@vger.kernel.org > Subject: RE: [[PATCH v1] 30/37] [CIFS] SMBD: Add S

RE: [[PATCH v1] 25/37] [CIFS] SMBD: Support SMBD idle connection timer

2017-08-14 Thread Long Li
> -Original Message- > From: Tom Talpey > Sent: Monday, August 14, 2017 2:12 PM > To: Long Li ; Steve French ; > linux-c...@vger.kernel.org; samba-techni...@lists.samba.org; linux- > ker...@vger.kernel.org > Cc: Long Li > Subject: RE: [[PATCH v1] 25/37] [CIFS]

RE: [[PATCH v1] 24/37] [CIFS] SMBD: Support for SMBD keep alive protocol

2017-08-14 Thread Long Li
> -Original Message- > From: Tom Talpey > Sent: Monday, August 14, 2017 2:07 PM > To: Long Li ; Steve French ; > linux-c...@vger.kernel.org; samba-techni...@lists.samba.org; linux- > ker...@vger.kernel.org > Subject: RE: [[PATCH v1] 24/37] [CIFS] SMBD: Suppor

RE: [[PATCH v1] 21/37] [CIFS] SMBD: Implement API for upper layer to receive data

2017-08-14 Thread Long Li
> -Original Message- > From: Tom Talpey > Sent: Monday, August 14, 2017 1:57 PM > To: Long Li ; Steve French ; > linux-c...@vger.kernel.org; samba-techni...@lists.samba.org; linux- > ker...@vger.kernel.org > Subject: RE: [[PATCH v1] 21/37] [CIFS] SMBD: Implement API

RE: [[PATCH v1] 19/37] [CIFS] SMBD: Manage credits on SMBD client and server

2017-08-14 Thread Long Li
> -Original Message- > From: Tom Talpey > Sent: Monday, August 14, 2017 1:47 PM > To: Long Li ; Steve French ; > linux-c...@vger.kernel.org; samba-techni...@lists.samba.org; linux- > ker...@vger.kernel.org > Subject: RE: [[PATCH v1] 19/37] [CIFS] SMBD: Manage credits

RE: [[PATCH v1] 14/37] [CIFS] SMBD: Post a SMBD data transfer message with page payload

2017-08-14 Thread Long Li
> -Original Message- > From: Tom Talpey > Sent: Monday, August 14, 2017 1:23 PM > To: Long Li ; Steve French ; > linux-c...@vger.kernel.org; samba-techni...@lists.samba.org; linux- > ker...@vger.kernel.org > Subject: RE: [[PATCH v1] 14/37] [CIFS] SMBD: Post a SMBD da

RE: [[PATCH v1] 04/37] [CIFS] SMBD: Define per-channel SMBD transport parameters and default values

2017-08-14 Thread Long Li
> -Original Message- > From: Tom Talpey > Sent: Monday, August 14, 2017 12:29 PM > To: Christoph Hellwig ; Long Li > Cc: Steve French ; linux-c...@vger.kernel.org; samba- > techni...@lists.samba.org; linux-kernel@vger.kernel.org > Subject: RE: [[PATCH v1] 04/37] [C

RE: [[PATCH v1] 01/37] [CIFS] SMBD: Add parsing for new rdma mount option

2017-08-14 Thread Long Li
> -Original Message- > From: Tom Talpey > Sent: Monday, August 14, 2017 12:10 PM > To: Long Li ; Steve French ; > linux-c...@vger.kernel.org; samba-techni...@lists.samba.org; linux- > ker...@vger.kernel.org > Subject: RE: [[PATCH v1] 01/37] [CIFS] SMBD: Add parsing

RE: [[PATCH v1] 16/37] [CIFS] SMBD: Post a SMBD message with no payload

2017-08-14 Thread Long Li
> -Original Message- > From: Tom Talpey > Sent: Monday, August 14, 2017 12:00 PM > To: Long Li ; Christoph Hellwig > Cc: Steve French ; linux-c...@vger.kernel.org; samba- > techni...@lists.samba.org; linux-kernel@vger.kernel.org > Subject: RE: [[PATCH v1] 16/37] [CI

RE: [[PATCH v1] 16/37] [CIFS] SMBD: Post a SMBD message with no payload

2017-08-14 Thread Long Li
> -Original Message- > From: Christoph Hellwig [mailto:h...@infradead.org] > Sent: Sunday, August 13, 2017 3:24 AM > To: Long Li > Cc: Steve French ; linux-c...@vger.kernel.org; samba- > techni...@lists.samba.org; linux-kernel@vger.kernel.org; Long Li > > Subjec

RE: [[PATCH v1] 12/37] [CIFS] SMBD: Handle send completion from CQ

2017-08-14 Thread Long Li
> -Original Message- > From: Christoph Hellwig [mailto:h...@infradead.org] > Sent: Sunday, August 13, 2017 3:20 AM > To: Long Li > Cc: Steve French ; linux-c...@vger.kernel.org; samba- > techni...@lists.samba.org; linux-kernel@vger.kernel.org; Long Li > > Subjec

RE: [[PATCH v1] 02/37] [CIFS] SMBD: Add structure for SMBD transport

2017-08-14 Thread Long Li
> -Original Message- > From: Stefan Metzmacher [mailto:me...@samba.org] > Sent: Monday, August 14, 2017 6:41 AM > To: Long Li ; Steve French ; > linux-c...@vger.kernel.org; samba-techni...@lists.samba.org; linux- > ker...@vger.kernel.org; linux-r...@vger.kernel.org;

RE: [[PATCH v1] 00/37] Implement SMBD protocol: Series 1

2017-08-14 Thread Long Li
> -Original Message- > From: Christoph Hellwig [mailto:h...@infradead.org] > Sent: Sunday, August 13, 2017 3:28 AM > To: Long Li > Cc: Steve French ; linux-c...@vger.kernel.org; samba- > techni...@lists.samba.org; linux-kernel@vger.kernel.org; Long Li > > Subjec

RE: [[PATCH v1] 02/37] [CIFS] SMBD: Add structure for SMBD transport

2017-08-12 Thread Long Li
> -Original Message- > From: Stefan Metzmacher [mailto:me...@samba.org] > Sent: Monday, August 7, 2017 11:58 PM > To: Steve French ; linux-c...@vger.kernel.org; samba- > techni...@lists.samba.org; linux-kernel@vger.kernel.org > Cc: Long Li > Subject: Re: [[PATCH v

[[PATCH v1] 08/37] [CIFS] SMBD: Define packet format for SMBD data transfer message

2017-08-02 Thread Long Li
From: Long Li Define the packet format for a SMBD data packet with payload Signed-off-by: Long Li --- fs/cifs/cifsrdma.h | 15 +++ 1 file changed, 15 insertions(+) diff --git a/fs/cifs/cifsrdma.h b/fs/cifs/cifsrdma.h index 78ce2bf..ed0ff54 100644 --- a/fs/cifs/cifsrdma.h +++ b/fs

[[PATCH v1] 05/37] [CIFS] SMBD: Implement API for upper layer to create SMBD transport and establish RDMA connection

2017-08-02 Thread Long Li
From: Long Li Implement the code for connecting to SMBD server. The client and server are connected using RC Queue Pair over RDMA API, which suppports Infiniband, RoCE and iWARP. Upper layer code can call cifs_create_rdma_session to establish a SMBD RDMA connection. Signed-off-by: Long Li

[[PATCH v1] 02/37] [CIFS] SMBD: Add structure for SMBD transport

2017-08-02 Thread Long Li
From: Long Li Define a new structure for SMBD transport. This stucture will have all the information on the transport, and it will be stored in the current SMB session. Signed-off-by: Long Li --- fs/cifs/cifsrdma.c | 56 ++ fs/cifs

[[PATCH v1] 04/37] [CIFS] SMBD: Define per-channel SMBD transport parameters and default values

2017-08-02 Thread Long Li
From: Long Li For each channel, SMBD defines per-channel parameters. Those can be negotiated with the server, and are restricted by RDMA hardware limitations. Signed-off-by: Long Li --- fs/cifs/cifsrdma.c | 14 ++ fs/cifs/cifsrdma.h | 13 + 2 files changed, 27

[[PATCH v1] 12/37] [CIFS] SMBD: Handle send completion from CQ

2017-08-02 Thread Long Li
From: Long Li In preparation for handling sending SMBD requests, add code to handle the send completion. In send complemention, the SMBD transport is responsible for freeing resources used in send. Signed-off-by: Long Li --- fs/cifs/cifsrdma.c | 25 + 1 file changed

[[PATCH v1] 11/37] [CIFS] SMBD: Post a receive request

2017-08-02 Thread Long Li
From: Long Li Add code to post a receive request to RDMA. Before the SMB server can send a packet to SMB client via SMBD, a receive request must be posted to local RDMA layer. Signed-off-by: Long Li --- fs/cifs/cifsrdma.c | 124 + fs/cifs

[[PATCH v1] 18/37] [CIFS] SMBD: Implement API for upper layer to send data

2017-08-02 Thread Long Li
From: Long Li Implement cifs_rdma_write for send an upper layer data. Upper layer uses this function to do a RDMA send. This function is also used to pass SMB packets for doing a RDMA read/write via memory registration. Signed-off-by: Long Li --- fs/cifs/cifsrdma.c | 177

[[PATCH v1] 09/37] [CIFS] SMBD: Add SMBD request and cache

2017-08-02 Thread Long Li
From: Long Li Define SMBD request. Unlike SMBD response, SMBD request doesn't use pre-allocated buffers. Data payload is passed from upper layer provided data buffers. SMBD requests are allocated through per-channel mempool. Signed-off-by: Long Li --- fs/cifs/cifsrdma.c

[[PATCH v1] 20/37] [CIFS] SMBD: Implement reassembly queue for receiving data

2017-08-02 Thread Long Li
From: Long Li All the data recevied via SMBD are placed in the reassembly queue. When upper layer reads data, it looks into reassembly queue. The SMBD layer is responsibe for passing a complete SMB packet to upper layer. Signed-off-by: Long Li --- fs/cifs/cifsrdma.c | 52

[[PATCH v1] 17/37] [CIFS] SMBD: Track status for transport

2017-08-02 Thread Long Li
From: Long Li Introduce status for tracking the status of SMBD transport. They are used in transport reconnect and shutdown. Signed-off-by: Long Li --- fs/cifs/cifsrdma.c | 25 + fs/cifs/cifsrdma.h | 11 +++ 2 files changed, 36 insertions(+) diff --git a/fs

[[PATCH v1] 15/37] [CIFS] SMBD: Post a SMBD data transfer message with data payload

2017-08-02 Thread Long Li
From: Long Li Similar to sending transfer message with page payload, this function creates a SMBD data packet and send it over to RDMA, from iov passed from upper layer. Signed-off-by: Long Li --- fs/cifs/cifsrdma.c | 119 + 1 file changed

[[PATCH v1] 13/37] [CIFS] SMBD: Implement SMBD protocol negotiation

2017-08-02 Thread Long Li
From: Long Li Now we have all the code in place to support SMBD protocol negotiation with SMB server. SMBD negotiation is defined in [MS-SMBD] 3.1.5. After negotiation, the client and server are connected through SMBD, and they can use SMBD to transfer data payloads. Signed-off-by: Long Li

[[PATCH v1] 14/37] [CIFS] SMBD: Post a SMBD data transfer message with page payload

2017-08-02 Thread Long Li
From: Long Li Add the function to send a SMBD data transfer message to server with page passed from upper layer. Signed-off-by: Long Li --- fs/cifs/cifsrdma.c | 113 + 1 file changed, 113 insertions(+) diff --git a/fs/cifs/cifsrdma.c b/fs

[[PATCH v1] 21/37] [CIFS] SMBD: Implement API for upper layer to receive data

2017-08-02 Thread Long Li
From: Long Li With reassembly queue in place, implement the API for upper layer to recevie data. This call may sleep if there is not enough data in the reassembly queue. Signed-off-by: Long Li --- fs/cifs/cifsrdma.c | 110 + fs/cifs

[[PATCH v1] 10/37] [CIFS] SMBD: Introduce wait queue when sending SMBD request

2017-08-02 Thread Long Li
From: Long Li Define wait queue in preparation for implement SMBD send. SMBD uses credit based flow control system, if the client doesn't have enough credits then it must wait for credits. Signed-off-by: Long Li --- fs/cifs/cifsrdma.c | 1 + fs/cifs/cifsrdma.h | 2 ++ 2 files chang

[[PATCH v1] 03/37] [CIFS] SMBD: Add logging functions for debug

2017-08-02 Thread Long Li
From: Long Li SMBD transport code will use those logging functions for debug. Signed-off-by: Long Li --- fs/cifs/cifsrdma.c | 52 1 file changed, 52 insertions(+) diff --git a/fs/cifs/cifsrdma.c b/fs/cifs/cifsrdma.c index a2c0478..3c9f478

[[PATCH v1] 16/37] [CIFS] SMBD: Post a SMBD message with no payload

2017-08-02 Thread Long Li
From: Long Li Implement the function to send a SMBD message with no payload. This is required at times when we want to extend credtis to server to have it continue to send data, without sending any actual data payload. Signed-off-by: Long Li --- fs/cifs/cifsrdma.c | 96

[[PATCH v1] 32/37] [CIFS] Add SMBD debug couters to CIFS debug exports

2017-08-02 Thread Long Li
From: Long Li SMBD tranport defines several debug counters. Add them to common CIFS to export those under /proc. Signed-off-by: Long Li --- fs/cifs/cifs_debug.c | 23 +++ 1 file changed, 23 insertions(+) diff --git a/fs/cifs/cifs_debug.c b/fs/cifs/cifs_debug.c index

[[PATCH v1] 34/37] [CIFS] Reconnect to SMBD transport when it's used

2017-08-02 Thread Long Li
From: Long Li When CIFS wants to reconnect a SMB session, use SMBD if it's being used. Signed-off-by: Long Li --- fs/cifs/connect.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index 1ba5b92..54c1f7c 100644 --- a/fs

[[PATCH v1] 36/37] [CIFS] Read from SMBD transport when it's used

2017-08-02 Thread Long Li
From: Long Li When receiving data, upper layer looks at which transport is being used. If SMBD is used, read from SMBD. Signed-off-by: Long Li --- fs/cifs/connect.c | 8 1 file changed, 8 insertions(+) diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index cc58cd8..5ac8af0 100644

[[PATCH v1] 31/37] [CIFS] Add SMBD transport to SMB session context

2017-08-02 Thread Long Li
From: Long Li With the SMBD transport implemented, now add to the SMB session context. Now the upper layer can use SMBD transport in a SMB session. Signed-off-by: Long Li --- fs/cifs/cifsglob.h | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h index

[[PATCH v1] 25/37] [CIFS] SMBD: Support SMBD idle connection timer

2017-08-02 Thread Long Li
From: Long Li This is part of the keep alive protocol. Each peer maintains a timer, and will send a message to peer when it expires. Signed-off-by: Long Li --- fs/cifs/cifsrdma.c | 25 + fs/cifs/cifsrdma.h | 6 -- 2 files changed, 29 insertions(+), 2 deletions

[[PATCH v1] 26/37] [CIFS] SMBD: Send an immediate packet when it's needed

2017-08-02 Thread Long Li
From: Long Li At times when credits is exhausted and nearing exhausted, the peer needs to promptly extend credits to peers after freeing local resources for RDMA operations. When there is no data to send and we want to extend credits to server, an empty packet is used to extend credits to

[[PATCH v1] 27/37] [CIFS] SMBD: Destroy transport when RDMA channel is disconnected

2017-08-02 Thread Long Li
From: Long Li When RDMA connection is terminated, the transport needs to destroy the transport and free its resources. At this point, we no longer have a RDMA connection to server. Signed-off-by: Long Li --- fs/cifs/cifsrdma.c | 56 ++ fs

[[PATCH v1] 28/37] [CIFS] SMBD: Implement API for upper layer to destroy the transport

2017-08-02 Thread Long Li
From: Long Li Upper layer calls to destroy transport when SMB directory is umounted or system is in shutdown state. SMBD is responsible for disconnecting from remote peer and freeing all the resources after it's disconnected. Signed-off-by: Long Li --- fs/cifs/cifsrdma.c

[[PATCH v1] 23/37] [CIFS] SMBD: Implement API for upper layer to reconnect transport

2017-08-02 Thread Long Li
From: Long Li Upper layer may request to reconnect to server for multiple reason. Disconnect can happen at SMB layer or at SMBD layer. Add function to support reconnect when transport is disconnected. Signed-off-by: Long Li --- fs/cifs/cifsrdma.c | 24 fs/cifs

[[PATCH v1] 29/37] [CIFS] SMBD: Disconnect RDMA connection on QP errors

2017-08-02 Thread Long Li
From: Long Li Sometime Queue Pair may have errors if hardware is having trouble with connectivity issues. In this case, SMBD should terminate the RDMA connetion. Signed-off-by: Long Li --- fs/cifs/cifsrdma.c | 18 ++ fs/cifs/cifsrdma.h | 1 + 2 files changed, 19 insertions

[[PATCH v1] 24/37] [CIFS] SMBD: Support for SMBD keep alive protocol

2017-08-02 Thread Long Li
From: Long Li SMBD uses a keep alive protocol to help peers detect if the remote is dead. When peer request keep alive, the transport needs to respond accordingly. Signed-off-by: Long Li --- fs/cifs/cifsrdma.c | 30 ++ fs/cifs/cifsrdma.h | 7 +++ 2 files

[[PATCH v1] 30/37] [CIFS] SMBD: Add SMBDirect transport to Makefile

2017-08-02 Thread Long Li
From: Long Li Signed-off-by: Long Li --- fs/cifs/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/cifs/Makefile b/fs/cifs/Makefile index eed7eb0..7175e25 100644 --- a/fs/cifs/Makefile +++ b/fs/cifs/Makefile @@ -18,4 +18,4 @@ cifs-$(CONFIG_CIFS_DFS_UPCALL

[[PATCH v1] 35/37] [CIFS] Destroy SMBD transport on exit

2017-08-02 Thread Long Li
From: Long Li When SMBD is used in the SMB session, destroy it on exit. Signed-off-by: Long Li --- fs/cifs/connect.c | 9 + 1 file changed, 9 insertions(+) diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index 54c1f7c..cc58cd8 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c

[[PATCH v1] 33/37] [CIFS] Connect to SMBD transport when specified in mount option

2017-08-02 Thread Long Li
From: Long Li When "-o rdma" is specified, attempt to connect to SMB server via SMBD. Signed-off-by: Long Li --- fs/cifs/connect.c | 23 +++ 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index 0dc942c..1ba5

[[PATCH v1] 07/37] [CIFS] SMBD: Implement receive buffer for handling SMBD response

2017-08-02 Thread Long Li
From: Long Li Create recevie buffers to handling SMBD response messages. Each SMBD response message is assocated with a receive buffer, where the message payload is received. The number of receive buffer is determine after negotiating SMBD transport with the server. Signed-off-by: Long Li

[[PATCH v1] 37/37] [CIFS] Write to SMBD transport when it's used

2017-08-02 Thread Long Li
From: Long Li When sending data, send to SMBD is it's currently used. Signed-off-by: Long Li --- fs/cifs/transport.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/fs/cifs/transport.c b/fs/cifs/transport.c index ba62aaf..10b9d15 100644 --- a/fs/cifs/transport.c +++ b/fs

[[PATCH v1] 22/37] [CIFS] SMBD: Implement API for upper layer to receive data to page

2017-08-02 Thread Long Li
From: Long Li Sometimes upper layer may also want to read data to a page. Implement this API. Signed-off-by: Long Li --- fs/cifs/cifsrdma.c | 30 ++ fs/cifs/cifsrdma.h | 2 ++ 2 files changed, 32 insertions(+) diff --git a/fs/cifs/cifsrdma.c b/fs/cifs/cifsrdma.c

[[PATCH v1] 19/37] [CIFS] SMBD: Manage credits on SMBD client and server

2017-08-02 Thread Long Li
From: Long Li SMB client and server maintain a credit system on the SMBD transport. Credits are used to tell when the client or server can send a packet to the peer, based on current memory or resource usage. Signed-off-by: Long Li --- fs/cifs/cifsrdma.c | 45

[[PATCH v1] 06/37] [CIFS] SMBD: Add definition and cache for SMBD response

2017-08-02 Thread Long Li
From: Long Li Define the data structure for receiving a SMBD response. SMBD responses are allocated through a per-channel mempool. For each server initiated response message, the SMB client must post a SMBD response to the local hardware. Signed-off-by: Long Li --- fs/cifs/cifsrdma.c | 13

[[PATCH v1] 00/37] Implement SMBD protocol: Series 1

2017-08-02 Thread Long Li
From: Long Li SMB3 defines a protocol for transfer data over RDMA transport such as Infiniband, RoCE and iWARP. The prococol is published in [MS-SMBD] (https://msdn.microsoft.com/en-us/library/hh536346.aspx). This is the series 1 of two patch sets. This patch set implements the SMBD

[[PATCH v1] 01/37] [CIFS] SMBD: Add parsing for new rdma mount option

2017-08-02 Thread Long Li
From: Long Li When doing mount with "-o rdma", user can specify this is for connecting to a SMBD session. Signed-off-by: Long Li --- fs/cifs/cifs_debug.c | 2 ++ fs/cifs/cifsfs.c | 2 ++ fs/cifs/cifsglob.h | 2 ++ fs/cifs/connect.c| 10 +- 4 files changed, 15

[PATCH v4] cifs: Do not modify mid entry after submitting I/O in cifs_call_async

2017-06-28 Thread Long Li
From: Long Li In cifs_call_async, server may respond as soon as I/O is submitted. Because mid entry is freed on the return path, it should not be modified after I/O is submitted. cifs_save_when_sent modifies the sent timestamp in mid entry, and should not be called after I/O. Call it before I/O

[PATCH v3] cifs: Do not modify mid entry after submitting I/O in cifs_call_async

2017-06-28 Thread Long Li
From: Long Li In cifs_call_async, server may respond as soon as I/O is submitted. Because mid entry is freed on the return path, it should not be modified after I/O is submitted. cifs_save_when_sent modifies the sent timestamp in mid entry, and should not be called after I/O. Call it before I/O

[PATCH v2] cifs: Do not modify mid entry after submitting I/O in cifs_call_async

2017-06-28 Thread Long Li
From: Long Li In cifs_call_async, server may respond as soon as I/O is submitted. Because mid entry is freed on the return path, it should not be modified after I/O is submitted. cifs_save_when_sent modifies the sent timestamp in mid entry, and should not be called after I/O. Call it before I

RE: [PATCH resend] cifs: Do not modify mid entry after submitting I/O in cifs_call_async

2017-06-28 Thread Long Li
> -Original Message- > From: Pavel Shilovsky [mailto:piastr...@gmail.com] > Sent: Wednesday, June 28, 2017 11:23 AM > To: Long Li > Cc: Steve French ; linux-cifs c...@vger.kernel.org>; samba-technical ; > Kernel Mailing List ; Long Li > > Subject: Re:

[PATCH resend] cifs: Do not modify mid entry after submitting I/O in cifs_call_async

2017-06-28 Thread Long Li
From: Long Li In cifs_call_async, server response may return as soon as I/O is submitted. Because mid entry is freed on the return path, do not modify it after I/O is submitted. Signed-off-by: Long Li --- fs/cifs/transport.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a

[PATCH] cifs: Do not modify mid entry after submitting I/O in cifs_call_async

2017-06-28 Thread Long Li
From: Long Li In cifs_call_async, server response may return as soon as I/O is submitted. Do not touch it after that. Signed-off-by: Long Li --- fs/cifs/transport.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/cifs/transport.c b/fs/cifs/transport.c index 47a125e

RE: [PATCH v2] storvsc: use default I/O timeout handler for FC devices

2017-06-14 Thread Long Li
> -Original Message- > From: Johannes Thumshirn [mailto:jthumsh...@suse.de] > Sent: Wednesday, June 14, 2017 1:25 AM > To: Long Li ; James E.J. Bottomley > ; Martin K. Petersen ; > linux-s...@vger.kernel.org; linux-kernel@vger.kernel.org; KY Srinivasan > ; Bart Van

[PATCH v2] storvsc: use default I/O timeout handler for FC devices

2017-06-13 Thread Long Li
From: Long Li FC disks issue I/O directly to the host storage port driver, this is diffirent to VHD disks where I/O is virtualized and timeout is handled by the host VSP (Virtualization Service Provider). FC disks are usually setup in a multipath system, and they don't want to reset timer

RE: [Possible Phish Fraud][PATCH] storvsc: use default I/O timeout handler for FC devices

2017-06-13 Thread Long Li
> -Original Message- > From: Bart Van Assche [mailto:bart.vanass...@sandisk.com] > Sent: Tuesday, June 13, 2017 8:38 AM > To: linux-kernel@vger.kernel.org; KY Srinivasan ; > martin.peter...@oracle.com; linux-s...@vger.kernel.org; Stephen Hemminger > ; Long Li ; > j.

[PATCH] storvsc: use default I/O timeout handler for FC devices

2017-06-12 Thread Long Li
From: Long Li FC disks are usually setup in a multipath system, and they don't want to unconditionaly reset I/O on timeout. I/O timeout is detected by multipath as a good time to failover and recover. Signed-off-by: Long Li --- drivers/scsi/storvsc_drv.c | 7 +++ 1 file chang

[PATCH v2] scsi: zero per-cmd private driver data for each MQ I/O

2017-05-18 Thread Long Li
From: Long Li In lower layer driver's (LLD) scsi_host_template, the driver may optionally ask SCSI to allocate its private driver memory for each command, by specifying cmd_size. This memory is allocated at the end of scsi_cmnd by SCSI. Later when SCSI queues a command, the LLD ca

RE: [PATCH] scsi: zero per-cmd driver data for each MQ I/O

2017-05-18 Thread Long Li
> -Original Message- > From: Bart Van Assche [mailto:bart.vanass...@sandisk.com] > Sent: Thursday, May 18, 2017 8:52 AM > To: h...@infradead.org > Cc: j...@linux.vnet.ibm.com; linux-s...@vger.kernel.org; linux- > ker...@vger.kernel.org; Stephen Hemminger ; KY >

RE: [PATCH] scsi: zero per-cmd driver data for each MQ I/O

2017-05-16 Thread Long Li
> -Original Message- > From: Bart Van Assche [mailto:bart.vanass...@sandisk.com] > Sent: Monday, May 15, 2017 5:01 PM > To: j...@linux.vnet.ibm.com; linux-s...@vger.kernel.org; linux- > ker...@vger.kernel.org; Long Li ; > martin.peter...@oracle.com > Cc: Stephen Hemm

RE: [PATCH] scsi: zero per-cmd driver data for each MQ I/O

2017-05-15 Thread Long Li
> -Original Message- > From: Bart Van Assche [mailto:bart.vanass...@sandisk.com] > Sent: Monday, May 15, 2017 4:03 PM > To: j...@linux.vnet.ibm.com; linux-s...@vger.kernel.org; linux- > ker...@vger.kernel.org; Long Li ; > martin.peter...@oracle.com > Cc: Long Li >

RE: [PATCH] scsi: zero per-cmd driver data for each MQ I/O

2017-05-15 Thread Long Li
> -Original Message- > From: Long Li [mailto:lon...@exchange.microsoft.com] > Sent: Wednesday, May 10, 2017 2:07 PM > To: James E.J. Bottomley ; Martin K. Petersen > ; linux-s...@vger.kernel.org; linux- > ker...@vger.kernel.org > Cc: Long Li > Subject: [PATCH] s

[PATCH] scsi: zero per-cmd driver data for each MQ I/O

2017-05-10 Thread Long Li
From: Long Li Lower layer driver may not initialize private data before use. Zero them out to prevent use of stale data. Signed-off-by: Long Li --- drivers/scsi/scsi_lib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c

RE: [PATCH] block-mq: set both block queue and hardware queue restart bit for restart

2017-05-05 Thread Long Li
> -Original Message- > From: linux-block-ow...@vger.kernel.org [mailto:linux-block- > ow...@vger.kernel.org] On Behalf Of Long Li > Sent: Friday, April 14, 2017 1:12 AM > To: Bart Van Assche ; linux- > ker...@vger.kernel.org; linux-bl...@vger.kernel.org; KY Srinivasan &

RE: [PATCH] block-mq: set both block queue and hardware queue restart bit for restart

2017-04-13 Thread Long Li
> -Original Message- > From: Bart Van Assche [mailto:bart.vanass...@sandisk.com] > Sent: Monday, April 10, 2017 4:48 PM > To: linux-kernel@vger.kernel.org; linux-bl...@vger.kernel.org; KY Srinivasan > ; Long Li ; ax...@kernel.dk > Cc: Stephen Hemminger > Subject:

RE: [PATCH] block-mq: set both block queue and hardware queue restart bit for restart

2017-04-05 Thread Long Li
> -Original Message- > From: KY Srinivasan > Sent: Wednesday, April 5, 2017 9:21 PM > To: Bart Van Assche ; linux- > ker...@vger.kernel.org; linux-bl...@vger.kernel.org; Long Li > ; ax...@kernel.dk > Cc: Stephen Hemminger > Subject: RE: [PATCH] block-mq:

RE: [PATCH] block-mq: set both block queue and hardware queue restart bit for restart

2017-04-05 Thread Long Li
> -Original Message- > From: Bart Van Assche [mailto:bart.vanass...@sandisk.com] > Sent: Wednesday, April 5, 2017 5:32 PM > To: linux-kernel@vger.kernel.org; linux-bl...@vger.kernel.org; Long Li > ; ax...@kernel.dk > Cc: Stephen Hemminger ; KY Srinivasan > ; L

[PATCH] block-mq: set both block queue and hardware queue restart bit for restart

2017-04-05 Thread Long Li
From: Long Li Under heavy I/O, one hardware queue may be unable to dispatch any I/O to the device layer. This poses a problem with restarting this hardware queue on I/O finish in blk_mq_sched_restart_queues(), becaue there is nothing pending that will finish in future on this hardware qeueu

RE: [PATCH 2/2] pci-hyperv: Fix an atomic bug

2017-03-27 Thread Long Li
Srinivasan > > The memory allocation here needs to be non-blocking. > Fix the issue. > > Signed-off-by: K. Y. Srinivasan > Cc: Reviewed-by: Long Li > --- > drivers/pci/host/pci-hyperv.c |2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > di

RE: [PATCH 1/2] pci-hyperv: Fix a bug in specifying CPU affinity

2017-03-27 Thread Long Li
inity > > From: K. Y. Srinivasan > > When we have 32 or more CPUs in the affinity mask, we should use a special > constant to specify that to the host. Fix this issue. > > Signed-off-by: K. Y. Srinivasan > Cc: Reviewed-by: Long Li > --- > drivers/pci/host/pci-hyp

[PATCH v3] HV: properly delay KVP packets when negotiation is in progress

2017-03-24 Thread Long Li
From: Long Li The host may send multiple negotiation packets (due to timeout) before the KVP user-mode daemon is connected. We need to defer processing those packets until the daemon is negotiated and connected. It's okay for guest to respond to all negotiation packets. In addition, the

[PATCH v3] HV: properly delay KVP packets when negotiation is in progress

2017-03-24 Thread Long Li
From: Long Li The host may send multiple negotiation packets (due to timeout) before the KVP user-mode daemon is connected. We need to defer processing those packets until the daemon is negotiated and connected. It's okay for guest to respond to all negotiation packets. In addition, the

[PATCH 1/2 v5] pci-hyperv: properly handle pci bus remove

2017-03-23 Thread Long Li
From: Long Li hv_pci_devices_present is called in hv_pci_remove when we remove a PCI device from host (e.g. by disabling SRIOV on a device). In hv_pci_remove, the bus is already removed before the call, so we don't need to rescan the bus in the workqueue scheduled from hv_pci_devices_pr

[PATCH 2/2 v5] pci-hyperv: lock pci bus on device eject

2017-03-23 Thread Long Li
From: Long Li A PCI_EJECT message can arrive at the same time we are calling pci_scan_child_bus in the workqueue for the previous PCI_BUS_RELATIONS message or in create_root_hv_pci_bus(), in this case we could potentially modify the bus from multiple places. Properly lock the bus access

RE: [PATCH v2] HV: properly delay KVP packets when negotiation is in progress

2017-03-23 Thread Long Li
> -Original Message- > From: Vitaly Kuznetsov [mailto:vkuzn...@redhat.com] > Sent: Thursday, March 23, 2017 9:04 AM > To: Long Li > Cc: KY Srinivasan ; Haiyang Zhang > ; Stephen Hemminger > ; de...@linuxdriverproject.org; linux- > ker...@vger.kernel.org; sta...@v

RE: [PATCH 1/2 v4] pci-hyperv: properly handle pci bus remove

2017-03-22 Thread Long Li
> -Original Message- > From: Bjorn Helgaas [mailto:helg...@kernel.org] > Sent: Thursday, March 16, 2017 1:07 PM > To: Long Li > Cc: KY Srinivasan ; Haiyang Zhang > ; Bjorn Helgaas ; > de...@linuxdriverproject.org; linux-...@vger.kernel.org; linux- > ker...@vger.

[PATCH v2] HV: properly delay KVP packets when negotiation is in progress

2017-03-22 Thread Long Li
send multiple staged KVP requests as soon as negotiation is done. We need to properly process those packets using one tasklet for exclusive access to ring buffer. This patch is based on the work of Nick Meier The patch v2 has incorporated suggestion from Vitaly Kuznetsov . Signed-off-by: Lo

RE: [PATCH] HV: properly delay KVP packets when negotiation is in progress

2017-03-20 Thread Long Li
> -Original Message- > From: Long Li > Sent: Sunday, March 19, 2017 7:49 PM > To: 'Vitaly Kuznetsov' > Cc: KY Srinivasan ; Haiyang Zhang > ; Stephen Hemminger > ; de...@linuxdriverproject.org; linux- > ker...@vger.kernel.org > Subject: RE: [PATCH

RE: [PATCH] HV: properly delay KVP packets when negotiation is in progress

2017-03-19 Thread Long Li
> -Original Message- > From: Vitaly Kuznetsov [mailto:vkuzn...@redhat.com] > Sent: Friday, March 17, 2017 9:16 AM > To: Long Li > Cc: KY Srinivasan ; Haiyang Zhang > ; Stephen Hemminger > ; de...@linuxdriverproject.org; linux- > ker...@vger.kernel.org > Subjec

RE: [PATCH 1/2 v4] pci-hyperv: properly handle pci bus remove

2017-03-16 Thread Long Li
> -Original Message- > From: Bjorn Helgaas [mailto:helg...@kernel.org] > Sent: Thursday, March 16, 2017 1:07 PM > To: Long Li > Cc: KY Srinivasan ; Haiyang Zhang > ; Bjorn Helgaas ; > de...@linuxdriverproject.org; linux-...@vger.kernel.org; linux- > ker...@vger.

[PATCH] HV: properly delay KVP packets when negotiation is in progress

2017-03-16 Thread Long Li
The host may send multiple KVP packets before the negotiation with daemon is finished. We need to keep those packets in ring buffer until the daemon is negotiated and connected. This patch is based on the work of Nick Meier Signed-off-by: Long Li --- drivers/hv/hv_kvp.c | 9 + 1 file

[PATCH 1/2 v4] pci-hyperv: properly handle pci bus remove

2017-02-27 Thread Long Li
ucing status hv_pcibus_removed, we can avoid this situation. Signed-off-by: Long Li Reported-by: Xiaofeng Wang Acked-by: K. Y. Srinivasan --- drivers/pci/host/pci-hyperv.c | 20 +--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/drivers/pci/host/pci-hyperv.c b/dr

[PATCH 2/2 v4] pci-hyperv: lock pci bus on device eject

2017-02-27 Thread Long Li
for pointing out the race condition in create_root_hv_pci_bus(). Signed-off-by: Long Li Reported-by: Xiaofeng Wang Acked-by: K. Y. Srinivasan --- drivers/pci/host/pci-hyperv.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/pci/host/pci-hyperv.c b/drivers/pci/host/pci

RE: [Resend PATCH 2/2 v3] pci-hyperv: lock pci bus on device eject

2017-02-27 Thread Long Li
Ok, I will resend. > -Original Message- > From: Greg KH [mailto:g...@kroah.com] > Sent: Saturday, February 25, 2017 12:02 AM > To: Long Li > Cc: KY Srinivasan ; Haiyang Zhang > ; Bjorn Helgaas ; > de...@linuxdriverproject.org; linux-kernel@vger.kernel.org; linux- &

[Resend PATCH 2/2 v3] pci-hyperv: lock pci bus on device eject

2017-02-24 Thread Long Li
for pointing out the race condition in create_root_hv_pci_bus(). Signed-off-by: Long Li Reported-by: Xiaofeng Wang Acked-by: K. Y. Srinivasan --- drivers/pci/host/pci-hyperv.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/pci/host/pci-hyperv.c b/drivers/pci/host/pci-hyperv.c

[Resend PATCH 1/2 v3] pci-hyperv: properly handle pci bus remove

2017-02-24 Thread Long Li
ucing status hv_pcibus_removed, we can avoid this situation. Signed-off-by: Long Li Reported-by: Xiaofeng Wang Acked-by: K. Y. Srinivasan --- drivers/pci/host/pci-hyperv.c | 20 +--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/drivers/pci/host/pci-hyper

RE: [Resend PATCH 1/2 v3] pci-hyperv: properly handle pci bus remove

2017-02-13 Thread Long Li
> -Original Message- > From: Bjorn Helgaas [mailto:bhelg...@google.com] > Sent: Saturday, February 11, 2017 9:35 AM > To: Long Li > Cc: KY Srinivasan ; Haiyang Zhang > ; de...@linuxdriverproject.org; linux- > p...@vger.kernel.org; linux-kernel@vger.kernel.org > Su

RE: [Resend PATCH 1/2 v3] pci-hyperv: properly handle pci bus remove

2017-02-10 Thread Long Li
> Sent: Friday, January 27, 2017 10:42 AM > To: Long Li ; Haiyang Zhang > ; Bjorn Helgaas > Cc: de...@linuxdriverproject.org; linux-...@vger.kernel.org; linux- > ker...@vger.kernel.org; Long Li > Subject: RE: [Resend PATCH 1/2 v3] pci-hyperv: properly handle pci bus > remove

RE: [PATCH] hv: use substraction to update ring buffer index

2017-01-20 Thread Long Li
> -Original Message- > From: Dexuan Cui > Sent: Sunday, January 15, 2017 7:12 PM > To: Long Li ; KY Srinivasan ; > Haiyang Zhang > Cc: de...@linuxdriverproject.org; linux-kernel@vger.kernel.org > Subject: RE: [PATCH] hv: use substraction to update ring buffer ind

RE: [PATCH 2/2 v3] pci-hyperv: lock pci bus on device eject

2017-01-09 Thread Long Li
Hi Bjorn, The patch is still pending (along with 1/2 v3). Please let me know if you want me to resend the two patches. Thanks Long > -Original Message- > From: KY Srinivasan > Sent: Tuesday, October 4, 2016 1:49 PM > To: Long Li ; Haiyang Zhang > ; Bjorn He

RE: [PATCH 1/2 v3] pci-hyperv: properly handle pci bus remove

2017-01-09 Thread Long Li
Hi Bjorn This patch is still pending. The patch has been ack'ed. Do you want me to resend this patch? Thanks Long > -Original Message- > From: KY Srinivasan > Sent: Friday, November 11, 2016 2:21 PM > To: Bjorn Helgaas ; Long Li > Cc: Haiyang Zhang ;

RE: [PATCH v2] hv: retry infinitely on hypercall transient failures

2017-01-07 Thread Long Li
> -Original Message- > From: Greg KH [mailto:g...@kroah.com] > Sent: Friday, January 06, 2017 11:43 PM > To: Long Li > Cc: KY Srinivasan ; Haiyang Zhang > ; de...@linuxdriverproject.org; linux- > ker...@vger.kernel.org > Subject: Re: [PATCH v2] hv: retry

RE: [PATCH v2] hv: retry infinitely on hypercall transient failures

2017-01-06 Thread Long Li
> -Original Message- > From: Greg KH [mailto:g...@kroah.com] > Sent: Wednesday, January 04, 2017 11:48 PM > To: Long Li > Cc: KY Srinivasan ; Haiyang Zhang > ; de...@linuxdriverproject.org; linux- > ker...@vger.kernel.org > Subject: Re: [PATCH v2] hv: retry

RE: [PATCH] hv: use substraction to update ring buffer index

2017-01-06 Thread Long Li
> -Original Message- > From: Dan Carpenter [mailto:dan.carpen...@oracle.com] > Sent: Thursday, January 05, 2017 3:40 AM > To: Long Li > Cc: KY Srinivasan ; Haiyang Zhang > ; de...@linuxdriverproject.org; linux- > ker...@vger.kernel.org > Subject: Re: [PATCH]

<    1   2   3   4   5   6   >