From nobody Tue Nov 14 02:07:57 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4STqSs70nkz50kL5; Tue, 14 Nov 2023 02:07:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4STqSs6X88z4cCb; Tue, 14 Nov 2023 02:07:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699927677; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lyZH9wweQlPkQnyF8MVE9jjNN9P3rI/gxHg8qPdxvTM=; b=GTY7GMIKFfE7QDRfqvwjuCJx/VtLeHQlzSJ++xJKJeKO+O/kW0rbeW3iPDm3hXngFtB+wv fjUkVBsRArGxdOHRVl+4GWIGVvklF0JQh83xYOvkg/dUp3HPP10sDekoggadelukm0yqZ0 IMjQUYsILAwpqOOx7va4QVfKmbPqksbsSfzvWTcmbmPcEJeh7pSRMDav8ewUKYdm43VI5+ 52rv5Z0+l4n11/cEVMw3olwiPgw+VxY6NkGVR/MFqEZMRWMz4SY6bK7+g3TwQD7gXq4AyL CjJ7T5ABpoAEPyzQ+wdqv8JK3gMM8/fiVcuRrRNzcSWqoesTRrrtL6RkSPO7eA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699927677; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lyZH9wweQlPkQnyF8MVE9jjNN9P3rI/gxHg8qPdxvTM=; b=hJkb5NKJgmtatI6FYV9MbvyqkOi3KOrDrVnuWMYBu0EnDr9zeFhPhbKp455DhuhN0qkQpF tKlq+ipVBBXL0dgfz1skgVGbddXiclwvdR0FPJHpRzSNh8KoSBAnGKfU0hKeAYY1DL8Yhf Tz+FmZpjOGsehs7/Qtz6VoCfmJCb+n14K9yaKb8ZPG8bZFOIiyGBw1ot0MgjnMUUg3g9Yu FLjhiR5WPiWAv/li2ooqXihiDLVggKHou+H+luNnmc4cjKcdAx4JVW7+85dwpX/GgwJDKs cTjx3EmDOHBTPoJ0nG010wRUZMZgla5ZkvGiOKt6gQBOjLxXiwwUp5X0YWFbSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699927677; a=rsa-sha256; cv=none; b=HvenT1rOA2wPPL1dIPsrvAUuHIGqFtmZuv5phRZxm9wJkfXKs/RS0hyzveSj4YxCU6G0yY xop340Yw525UkqlcyAtrCsW4dFPeOJ9UIusVe9k55RiahuAeH14RWe8xEnjb02o4xjj8op ii9yyb3m3PBRBTvmBMYpThKhJXZ6IQwS3u+qoe0yVFdlFEWjtSzmgylDbCVxh+VRZgoJFo ahtxMNng4/thsIDd4p2VYuAjQr/rHtDn7gdIroHQ8zD0xLidEA4U7/+1KCZW5vJIENXpAd XbiRJw6DaE34nTWi10vdoF7V7yvtWexROftO5ldJP3Ukr9kp8/SkeXy4jIlicA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4STqSs5ZyZzWLn; Tue, 14 Nov 2023 02:07:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AE27vF2032391; Tue, 14 Nov 2023 02:07:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AE27vAg032388; Tue, 14 Nov 2023 02:07:57 GMT (envelope-from git) Date: Tue, 14 Nov 2023 02:07:57 GMT Message-Id: <202311140207.3AE27vAg032388@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: bcbbacb7d014 - stable/13 - nfscl: Handle the NFSERR_RETRYUNCACHEDREP error from a NFSv4 server List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: bcbbacb7d014161b2f98b25d81f530cccbc49845 Auto-Submitted: auto-generated The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=bcbbacb7d014161b2f98b25d81f530cccbc49845 commit bcbbacb7d014161b2f98b25d81f530cccbc49845 Author: Rick Macklem AuthorDate: 2023-10-18 19:42:12 +0000 Commit: Rick Macklem CommitDate: 2023-11-14 02:07:17 +0000 nfscl: Handle the NFSERR_RETRYUNCACHEDREP error from a NFSv4 server In a recent email list discussion related to NFSv4 mount problems against a non-FreeBSD NFSv4 server, the reporter of the issue noted that the server had replied 10068 (NFSERR_RETRYUNCACHEDREP). This did not seem related to the mount problem, but I had never seen this error before. It indicates that an RPC retry after a new TCP connection has been established failed because the server did not cache the reply. Since this should only happen for idempotent operations, redoing the RPC should be safe. This patch modifies the NFSv4.1/4.2 client to redo the RPC instead of considering the server error fatal. It should only affect the unusual case where TCP connections to NFSv4 servers are breaking without the NFSv4 server rebooting. MFC after: 2 weeks (cherry picked from commit c4e298251ab01665f5bb3edeb740a51331818a45) --- sys/fs/nfs/nfs_commonkrpc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/fs/nfs/nfs_commonkrpc.c b/sys/fs/nfs/nfs_commonkrpc.c index 29c7cdbd671c..29fbb8dc4351 100644 --- a/sys/fs/nfs/nfs_commonkrpc.c +++ b/sys/fs/nfs/nfs_commonkrpc.c @@ -1300,7 +1300,8 @@ tryagain: nd->nd_procnum != NFSPROC_LOCKU))) || (nd->nd_repstat == NFSERR_DELAY && (nd->nd_flag & ND_NFSV4) == 0) || - nd->nd_repstat == NFSERR_RESOURCE) { + nd->nd_repstat == NFSERR_RESOURCE || + nd->nd_repstat == NFSERR_RETRYUNCACHEDREP) { /* Clip at NFS_TRYLATERDEL. */ if (timespeccmp(&trylater_delay, &nfs_trylater_max, >))