From nobody Wed Oct 18 19:43:11 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 4S9h8v3v3Qz4xS0n; Wed, 18 Oct 2023 19:43:11 +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 4S9h8v3N6Lz4sH9; Wed, 18 Oct 2023 19:43:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1697658191; 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=kzE9wJflJZug54A7Lda2Oqjiu3nZSGwAnCTkqjXkK3s=; b=jGHUrAV6IzfzNc+7F6TEvtMmjunDLgPCqubHqO5I7Qx4+hsydfRdEj2SC24798q4j2FlHV h678iRU/nM3TnKzpENQi3mD4rp41jZgMRjdD7NqzfQyusaOnrYCXAzjbYqCEpoGzxq1Ewc TVwOl7wmYs6K4e2HTKogsWH+oa+R7nm3ZZPhDNyVxP6qoXJ1OcUuln/Qp1H7nraqn7ZPi3 /kIRTwsm4sDLV3rOMELzA9CM7f+47kUK65ni89qXWsRQqudFU8IoMurh7N4RoKcE0AeR4B GCcxSSg44UVBx8+pOdfuhtaMlSju8osuDaTGL3a15onIdB1ov3DJEdH0AQmMLg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1697658191; a=rsa-sha256; cv=none; b=T5JFYmvJn3FV/fhDL24xk9gP20QL2MHEjo5/EL0sRl94RZAXfl9rctk4tBGPV8T74Z09vc NvHkLIZTxiq3Ahcgu6kT2mFu0Te0PZK3Gw1q7WAzO3LwgFdr4416S42R8PCVvds0sYpGVL j5qEwP03vNC6RB9u9Jpnx4lMUp02qbke0UnxFvgSOWlLhSYfWj3th8VFCQD9jujk9MA3+L zi7989jrCjVEMhRVMGSOPXM+n9OdH0gWH6owE5He0TAdQuUTbMk9wiI+fIY8kLALXRyX0R 4OaqmP4+C/VL3Z8HNOEnSBKcwT2dHKDNXzbtxCia/ud2BXUUbif2gVCzE+vRiw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1697658191; 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=kzE9wJflJZug54A7Lda2Oqjiu3nZSGwAnCTkqjXkK3s=; b=VfyM9jAv2gvRBsVIzvf0qJWxip+keE7trgebpSr7QotrByklqhHWeORn8YNYJ7Qn4A37am 6xwkMHOjOkM0HZ+5ANXdPadAgAMMaKpIfwbdVi3hcJOdQ5jgTvQ6Vf28Uds9wUqMl2Webo I02zwA/Aa4SEiwZ1MXxe1HGlufXe4c3W1lTjP904aUG/fj1uCRDSGkfBrsfPNX7W6BqIVP nvvhkiQTYE4OVBB9XMCBQ7fQlCXKrYP+BrNA3eynSs6rdugUXtdMWRgm0xSFjN917PGkDF wZWMoX6F7XMh6sSWy7wrMYNv1P0Ji2HI2T79V1YxI9I4O0tVXIvHDxmBLUZY2A== 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 4S9h8v2PgZz4cT; Wed, 18 Oct 2023 19:43:11 +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 39IJhBhq011428; Wed, 18 Oct 2023 19:43:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 39IJhB5F011425; Wed, 18 Oct 2023 19:43:11 GMT (envelope-from git) Date: Wed, 18 Oct 2023 19:43:11 GMT Message-Id: <202310181943.39IJhB5F011425@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: c4e298251ab0 - main - 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/main X-Git-Reftype: branch X-Git-Commit: c4e298251ab01665f5bb3edeb740a51331818a45 Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=c4e298251ab01665f5bb3edeb740a51331818a45 commit c4e298251ab01665f5bb3edeb740a51331818a45 Author: Rick Macklem AuthorDate: 2023-10-18 19:42:12 +0000 Commit: Rick Macklem CommitDate: 2023-10-18 19:42:12 +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. Reported by: J David MFC after: 2 weeks --- 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, >))