summaryrefslogtreecommitdiffstats
path: root/fs/cifs/connect.c
diff options
context:
space:
mode:
authorRohith Surabattula <rohiths@microsoft.com>2021-02-16 10:40:45 +0000
committerSteve French <stfrench@microsoft.com>2021-02-23 04:16:00 -0600
commit9e550b085206544bd03a8b1dd58a5414e9508351 (patch)
treefeb47ae6e65596656c7596988b3db1f5f36c9546 /fs/cifs/connect.c
parent23bda5e6511083ec1d76377e8075388e02639147 (diff)
downloadlinux-9e550b085206544bd03a8b1dd58a5414e9508351.tar.gz
linux-9e550b085206544bd03a8b1dd58a5414e9508351.tar.bz2
linux-9e550b085206544bd03a8b1dd58a5414e9508351.zip
TCON Reconnect during STATUS_NETWORK_NAME_DELETED
When server returns error STATUS_NETWORK_NAME_DELETED, TCON must be marked for reconnect. So, subsequent IO does the tree connect again. Signed-off-by: Rohith Surabattula <rohiths@microsoft.com> Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com> Reviewed-by: Shyam Prasad N <sprasad@microsoft.com> Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/cifs/connect.c')
-rw-r--r--fs/cifs/connect.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
index 139e306305df..cd6dbeaf2166 100644
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@ -995,6 +995,10 @@ next_pdu:
if (mids[i] != NULL) {
mids[i]->resp_buf_size = server->pdu_size;
+ if (bufs[i] && server->ops->is_network_name_deleted)
+ server->ops->is_network_name_deleted(bufs[i],
+ server);
+
if (!mids[i]->multiRsp || mids[i]->multiEnd)
mids[i]->callback(mids[i]);