From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751768AbdJRXLQ (ORCPT ); Wed, 18 Oct 2017 19:11:16 -0400 Received: from a2nlsmtp01-03.prod.iad2.secureserver.net ([198.71.225.37]:41968 "EHLO a2nlsmtp01-03.prod.iad2.secureserver.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751649AbdJRXLI (ORCPT ); Wed, 18 Oct 2017 19:11:08 -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, Tom Talpey , Matthew Wilcox , Stephen Hemminger Cc: Long Li Subject: [Patch v5 10/21] CIFS: SMBD: Upper layer destroys SMB Direct session on shutdown or umount Date: Wed, 18 Oct 2017 16:09:09 -0700 Message-Id: <20171018230920.21042-11-longli@exchange.microsoft.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20171018230920.21042-1-longli@exchange.microsoft.com> References: <20171018230920.21042-1-longli@exchange.microsoft.com> X-CMAE-Envelope: MS4wfBCf/BXTuaHfHzgRij0jRcNQiuKJ+IVs82BW44hYlGyYovojhywSF1zAU9Q4rPgLw6Cjc628vFvPMUHDkVnAoRSvkuA/BtOxjnPflFN7fmZfEga5CjAU t0fqEWVJyWDOHTWP25vQMQ1RofC2f9wSwymjqPQFM5L0IRGHQNycjYGLzXN5xDl1k0bSnuj59FWE+oMEzsDcuqS8jRHPW1SPUN2AdFLUTa8S4kU65Dg5Fcob O8zr3aYJBEOwWNDzz7PUTFlmXSDxDtLO69+J/uEuunuPETys6lDq/mF1M31AIDJqt3X92qiFBIRXisrqX/vm7n6MjGsSAT+pMK8HtReEOKrN3sQjDFNIRTlV fYfImk5W3jvBfycePr84EFNY7v56oW//gPCKBh3v9J/X3CxvpwMOlikQAdt1PxtQeWPqaPbRWTSMRK/3DPZ5Gygy8a82ZSGkZ2Q3AQiB7p60SI/BcXD1Wm6k jwwiTY0drEPXPeU8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Long Li When upper layer wants to umount, make it call shutdown on transport when SMB Direct is used. Signed-off-by: Long Li --- fs/cifs/connect.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index 8ca3c13..23f10d1 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c @@ -707,7 +707,12 @@ static void clean_demultiplex_info(struct TCP_Server_Info *server) wake_up_all(&server->request_q); /* give those requests time to exit */ msleep(125); - +#ifdef CONFIG_CIFS_SMB_DIRECT + if (server->smbd_conn) { + smbd_destroy(server->smbd_conn); + server->smbd_conn = NULL; + } +#endif if (server->ssocket) { sock_release(server->ssocket); server->ssocket = NULL; -- 2.7.4