Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1076035pxb; Sun, 21 Feb 2021 10:29:03 -0800 (PST) X-Google-Smtp-Source: ABdhPJzJ5sHzLb1g85p+tkq2cuVnM0Ah71t2sFWw1I/399Gfhn390FFAvZBp7nAyUYVm6SH1HEg8 X-Received: by 2002:a17:906:b0d8:: with SMTP id bk24mr18082819ejb.252.1613932143383; Sun, 21 Feb 2021 10:29:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613932143; cv=none; d=google.com; s=arc-20160816; b=LYOeNe00okjOFzgfSk62z8iH5PvhcJRUxMhi1ZV3ehzKki8wKAkc93aD1SqXOXNfv1 kSR2XIgGMkQD+wfCs9w+l8fH6OyRyxM8xsYiFR9/pZkWPO877I+GMsll9unFV7DRmar4 X9J5HtGWk++MYiHv//0dyp2Jl5JLgPLQ2a844H2z05Mk+Nlyd6viuuadZ0j+Uqqv0XxM 4opiLC8bbVi16p2GX1AMmQsZ9FWbtjj3B387fUt1+PJRz1RW9LT1G2fOeP4pp3+N1iuv TS6M/sVrjZTQgg2T/W5f11HZKF48Fk1UQBuEx3YXQYiDJWMno5EkZ0QZCB8Ybbgc49KH KLsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=IZeSbpwtGr8+AATPo6EZDT5BW4LbIPwyi4s4MsgYLrk=; b=kr94cwFYgAXxLh0CMz/XKRHoZfP8NaKf6ExlUN9LTKKi9/NjNfhl7iD5IKwcPovmOK bPTagfudGjRNbbo/2iBDDt3qYVscwZb8iDKDvrdUHT+iBaw9NchmHcDmH5Q1W4jtGtZv CrIFEYFA5Edd3yFV2VCVgGml/EuHYESzbEfTYmqaZ3rNP+UT3zOQCMyZmnzHyqjvsYmv CREWONQ0pHzPBBv4JkTHoAoHZLABy5JQp1AplbrKyn0helnUWT9R8dt0Wp86wtMTZG+2 ET04U0EpT9Tsvl6BToulQ+Y1k6qUZS6vuLEnaGuHcFgZMkuV1PBZcGuxiqMseQEVq5aJ N+3A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@rothenpieler.org header.s=mail header.b=f0j6HTW4; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=rothenpieler.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m9si10012788edc.526.2021.02.21.10.28.30; Sun, 21 Feb 2021 10:29:03 -0800 (PST) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@rothenpieler.org header.s=mail header.b=f0j6HTW4; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=rothenpieler.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229910AbhBUS2J (ORCPT + 99 others); Sun, 21 Feb 2021 13:28:09 -0500 Received: from btbn.de ([5.9.118.179]:33286 "EHLO btbn.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229807AbhBUS2E (ORCPT ); Sun, 21 Feb 2021 13:28:04 -0500 Received: from Kryux.localdomain (muedsl-82-207-216-212.citykom.de [82.207.216.212]) by btbn.de (Postfix) with ESMTPSA id CE7192357A5; Sun, 21 Feb 2021 19:27:22 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rothenpieler.org; s=mail; t=1613932042; bh=IZeSbpwtGr8+AATPo6EZDT5BW4LbIPwyi4s4MsgYLrk=; h=From:To:Cc:Subject:Date; b=f0j6HTW4yd+/kU9j2nBzGbnKCeyd08cNmn1fjqzEYKFxy+YprSo7cGCDou/tvQQXh cqPhLfgqkRweNrCXb+HsdS0p55oWGJuZXy0FFBZFrzt4LW7jgEuougW+r1PsN2cBTd 0g246LVaV/ADDIZVxOmxBD/1ZSmv+m2HLcENQ/GUM3B66Z0dE/KLka+n4rKNFZ8mGg 7twF+ewCOhc5+N0K6na7VKaDTn7anyNgzx+26b2IaMoy42OxX5aSs9Ow/A+2q2YAMK DzRqgIkEAbnh/GaOnued4TJgJjl7YaQnBo1eq7UHMtyU9LAyHIzTNvpbQ6nAqpnKFQ lULQaR1X+gvaQ== From: Timo Rothenpieler To: Linux NFS Mailing List Cc: Chuck Lever , Olga Kornievskaia , Timo Rothenpieler Subject: [PATCH] nfsd: set RPC_CLNT_CREATE_NO_IDLE_TIMEOUT on callback client Date: Sun, 21 Feb 2021 19:27:00 +0100 Message-Id: <20210221182700.1494-1-timo@rothenpieler.org> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org This tackles an issue where the callback client times out from inactivity, causing operations like server side copy to never return on the client side. I was observing that issue frequently on my RDMA connected clients, it does not seem to manifest on tcp connected clients. However, it does not fix the actual issue of the callback channel not getting re-established and the client being stuck in the call forever. It just makes it a lot less likely to occur, as long as no other circumstances cause the callback channel to be disconnected. --- fs/nfsd/nfs4callback.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c index 052be5bf9ef5..75dacb7878b8 100644 --- a/fs/nfsd/nfs4callback.c +++ b/fs/nfsd/nfs4callback.c @@ -897,7 +897,7 @@ static int setup_callback_client(struct nfs4_client *clp, struct nfs4_cb_conn *c .timeout = &timeparms, .program = &cb_program, .version = 1, - .flags = (RPC_CLNT_CREATE_NOPING | RPC_CLNT_CREATE_QUIET), + .flags = (RPC_CLNT_CREATE_NOPING | RPC_CLNT_CREATE_QUIET | RPC_CLNT_CREATE_NO_IDLE_TIMEOUT), .cred = current_cred(), }; struct rpc_clnt *client; -- 2.25.1