From: Long Li <lon...@microsoft.com>

Finally, when CIFS wants to umount, do a proper shutdown on transport.

Signed-off-by: Long Li <lon...@microsoft.com>
---
 fs/cifs/connect.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
index b337ca7..f65950f 100644
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@ -708,6 +708,11 @@ static void clean_demultiplex_info(struct TCP_Server_Info 
*server)
        /* give those requests time to exit */
        msleep(125);
 
+       if (server->smbd_conn) {
+               smbd_destroy(server->smbd_conn);
+               server->smbd_conn = NULL;
+       }
+
        if (server->ssocket) {
                sock_release(server->ssocket);
                server->ssocket = NULL;
@@ -2194,6 +2199,9 @@ cifs_put_tcp_session(struct TCP_Server_Info *server, int 
from_reconnect)
                return;
        }
 
+       if (server->smbd_conn)
+               smbd_destroy(server->smbd_conn);
+
        put_net(cifs_net_ns(server));
 
        list_del_init(&server->tcp_ses_list);
-- 
2.7.4

Reply via email to