mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 20:51:44 +00:00
cifs: fix the cifs_reconnect path for DFS
Recently, the cifs_reconnect code was refactored into two branches for regular vs dfs codepath. Some of my recent changes were missing in the dfs path, namely the code to enable periodic DNS query, and a missing lock. Signed-off-by: Shyam Prasad N <sprasad@microsoft.com> Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
parent
8a409cda97
commit
e154cb7b0a
@ -338,8 +338,10 @@ static int __cifs_reconnect(struct TCP_Server_Info *server,
|
||||
}
|
||||
} while (server->tcpStatus == CifsNeedReconnect);
|
||||
|
||||
spin_lock(&cifs_tcp_ses_lock);
|
||||
if (server->tcpStatus == CifsNeedNegotiate)
|
||||
mod_delayed_work(cifsiod_wq, &server->echo, 0);
|
||||
spin_unlock(&cifs_tcp_ses_lock);
|
||||
|
||||
wake_up(&server->response_q);
|
||||
return rc;
|
||||
@ -454,6 +456,7 @@ reconnect_dfs_server(struct TCP_Server_Info *server,
|
||||
spin_unlock(&cifs_tcp_ses_lock);
|
||||
cifs_swn_reset_server_dstaddr(server);
|
||||
mutex_unlock(&server->srv_mutex);
|
||||
mod_delayed_work(cifsiod_wq, &server->reconnect, 0);
|
||||
} while (server->tcpStatus == CifsNeedReconnect);
|
||||
|
||||
if (target_hint)
|
||||
|
Loading…
Reference in New Issue
Block a user