From nobody Fri Jun 10 22:12:32 2022 X-Original-To: dev-commits-src-branches@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 591F583A139; Fri, 10 Jun 2022 22:12:32 +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 4LKZvh24qgz3k2K; Fri, 10 Jun 2022 22:12:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1654899152; 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=L2LQqAOviPRxURXjuKyAet3R0mpm6YGBlMyhjNMhxeM=; b=HYJlOp+pfhfixK8/3jB/QEJFuxdMOY1p36ya038IRYbKUQeu83FQRDbw4PsyxIUB3//YyL 3qpWcf+BDPrD0B0CD/raMxJ0gy/GSwY5E6CkhimWtnYyL3gEQLTyc4IiDzhAFS8C1w8xt1 vHRT/xj+9Al8Zho/8fi68l2dbNatJmZcBClN4qpdzVz5flqh9jr5/1m80cK7xD7ApGqbY8 vuJC21afmuA7bjzpA5snsNdBzCG7Wr8gUXYgZgIN+gIFcXxs9LoXwckAaM9M5MSuvQ2v5Z lGGiDbyqWg0vnRe2EQPKxZwG8yQiStRnGzdLCcF5w80cbySeLRI3f9SPnwzbpA== 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 2769C209F4; Fri, 10 Jun 2022 22:12:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 25AMCWlU013266; Fri, 10 Jun 2022 22:12:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 25AMCWef013265; Fri, 10 Jun 2022 22:12:32 GMT (envelope-from git) Date: Fri, 10 Jun 2022 22:12:32 GMT Message-Id: <202206102212.25AMCWef013265@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: de5e5c428f49 - stable/13 - nfscl: Do not handle NFSERR_BADSESSION in operation code List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: de5e5c428f498e481848c8a8290b6469b8b6d329 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1654899152; 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=L2LQqAOviPRxURXjuKyAet3R0mpm6YGBlMyhjNMhxeM=; b=gGz6tHp3dlU1W9fPzyf1Ck5L0SWHOz7CcudVxlP6elyAib8ooCkPKlPlqXIk9gTmlKIQ/u X8dN6RJrD70Ta3Rsxfn+N6MFtSjNVDbP9OzxSiZSBdMR8ZsSn0zrJ0bKaOupEultBo9tmT 2QGS3hRqg3YZvVAJThPKGVlP78qM8bMxvbrMW6mnxo6seKeBz+ErNnXVXJJiWZtkVXlQNw dQTW3Thny557iJEA+irD/0+oQUL6MGXsgOnOIfqm28baeNg6kmIAHO8uhpE3XB0AVcleE+ mSVreba0VZpLjFEhhVxV410DmaHtDaesebyeUStnX052m7Xm1TAfbHsayMox9A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1654899152; a=rsa-sha256; cv=none; b=mWpJBLFOwz5Njv+DcyXgMowOPnvX2rf19BVlj9cSN1fcgjJSsM15wSuPMqsCc6fxIOXKkg /Wp0LfCRkD4veMe6mvvYNMMMuIvXB3k0PlKk6Hlg+0Gp9Sfr9zKkmK3n2lj4HuzBBJw5tq 4oyCjrKj4wNkv0qhrKHA7BhrPVvgLfMmUw6IxhPhvLj8EAoCXBPcfjPW5ewFgqsq6E64mb EVMvClLqhoz/u+/HS1exvFbkopISsbr2U2oWwhoJSu5hjsyRmrpNL/k8lHiEzHevCbK7ZB +7bouf8XSlCSLuJdAmVccjKVK5+9nOyFXtXpKphHmbRcS1tCgOVlRiiVs0l6hw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=de5e5c428f498e481848c8a8290b6469b8b6d329 commit de5e5c428f498e481848c8a8290b6469b8b6d329 Author: Rick Macklem AuthorDate: 2022-05-27 21:20:31 +0000 Commit: Rick Macklem CommitDate: 2022-06-10 22:11:24 +0000 nfscl: Do not handle NFSERR_BADSESSION in operation code The NFSERR_BADSESSION reply from a NFSv4.1/4.2 server is handled by newnfs_request(). It should not be handled separately after newnfs_request() has returned. These two cases were spotted during code inspection. One of them should only redo what newnfs_request() already did by the same "nfscl" thread. The other might have resulted in recovery being done twice, but the code is only used for "pnfs" mounts, so that would be rare. Also, since NFSERR_BADSESSION should only be replied by a server after the server reboots, this would be extremely rare. (cherry picked from commit 425e5c739bcf190265330b79e85f89eb4d7b5f25) --- sys/fs/nfsclient/nfs_clrpcops.c | 2 +- sys/fs/nfsclient/nfs_clstate.c | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/sys/fs/nfsclient/nfs_clrpcops.c b/sys/fs/nfsclient/nfs_clrpcops.c index 64bcfbd4f943..dc0b92db97bc 100644 --- a/sys/fs/nfsclient/nfs_clrpcops.c +++ b/sys/fs/nfsclient/nfs_clrpcops.c @@ -8111,7 +8111,7 @@ nfsrpc_createlayout(vnode_t dvp, char *name, int namelen, struct vattr *vap, } if (nd->nd_repstat != 0 && error == 0) error = nd->nd_repstat; - if (error == NFSERR_STALECLIENTID || error == NFSERR_BADSESSION) + if (error == NFSERR_STALECLIENTID) nfscl_initiate_recovery(owp->nfsow_clp); nfsmout: NFSCL_DEBUG(4, "eo nfsrpc_createlayout err=%d\n", error); diff --git a/sys/fs/nfsclient/nfs_clstate.c b/sys/fs/nfsclient/nfs_clstate.c index a4704a04ac22..9d4fe1d1cd7f 100644 --- a/sys/fs/nfsclient/nfs_clstate.c +++ b/sys/fs/nfsclient/nfs_clstate.c @@ -2767,8 +2767,7 @@ nfscl_renewthread(struct nfsclclient *clp, NFSPROC_T *p) error = nfsrpc_renew(clp, NULL, cred, p); if (error == NFSERR_CBPATHDOWN) cbpathdown = 1; - else if (error == NFSERR_STALECLIENTID || - error == NFSERR_BADSESSION) { + else if (error == NFSERR_STALECLIENTID) { NFSLOCKCLSTATE(); clp->nfsc_flags |= NFSCLFLAGS_RECOVER; NFSUNLOCKCLSTATE();