mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 21:57:43 +00:00
cifs: detect dead connections only when echoes are enabled.
We can detect server unresponsiveness only if echoes are enabled. Echoes can be disabled under two scenarios: 1. The connection is low on credits, so we've disabled echoes/oplocks. 2. The connection has not seen any request till now (other than negotiate/sess-setup), which is when we enable these two, based on the credits available. So this fix will check for dead connection, only when echo is enabled. Signed-off-by: Shyam Prasad N <sprasad@microsoft.com> CC: <stable@vger.kernel.org> # v5.8+ Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
parent
7ba3d1cdb7
commit
f4916649f9
1 changed files with 1 additions and 0 deletions
|
@ -476,6 +476,7 @@ server_unresponsive(struct TCP_Server_Info *server)
|
||||||
*/
|
*/
|
||||||
if ((server->tcpStatus == CifsGood ||
|
if ((server->tcpStatus == CifsGood ||
|
||||||
server->tcpStatus == CifsNeedNegotiate) &&
|
server->tcpStatus == CifsNeedNegotiate) &&
|
||||||
|
(!server->ops->can_echo || server->ops->can_echo(server)) &&
|
||||||
time_after(jiffies, server->lstrp + 3 * server->echo_interval)) {
|
time_after(jiffies, server->lstrp + 3 * server->echo_interval)) {
|
||||||
cifs_server_dbg(VFS, "has not responded in %lu seconds. Reconnecting...\n",
|
cifs_server_dbg(VFS, "has not responded in %lu seconds. Reconnecting...\n",
|
||||||
(3 * server->echo_interval) / HZ);
|
(3 * server->echo_interval) / HZ);
|
||||||
|
|
Loading…
Reference in a new issue