lkml.org 
[lkml]   [2021]   [May]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.11 052/342] cifs: detect dead connections only when echoes are enabled.
    Date
    From: Shyam Prasad N <sprasad@microsoft.com>

    commit f4916649f98e2c7bdba38c6597a98c456c17317d upstream.

    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>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    fs/cifs/connect.c | 1 +
    1 file changed, 1 insertion(+)

    --- a/fs/cifs/connect.c
    +++ b/fs/cifs/connect.c
    @@ -488,6 +488,7 @@ server_unresponsive(struct TCP_Server_In
    */
    if ((server->tcpStatus == CifsGood ||
    server->tcpStatus == CifsNeedNegotiate) &&
    + (!server->ops->can_echo || server->ops->can_echo(server)) &&
    time_after(jiffies, server->lstrp + 3 * server->echo_interval)) {
    cifs_server_dbg(VFS, "has not responded in %lu seconds. Reconnecting...\n",
    (3 * server->echo_interval) / HZ);

    \
     
     \ /
      Last update: 2021-05-10 14:02    [W:3.870 / U:0.280 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site