git: d40f62f89d6a - stable/12 - nfscl: Add a diagnostic printf() for a "should never happen" case
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 10 Jun 2022 22:23:53 UTC
The branch stable/12 has been updated by rmacklem:
URL: https://cgit.FreeBSD.org/src/commit/?id=d40f62f89d6a5ab9fc9c1911c783beef9c80188d
commit d40f62f89d6a5ab9fc9c1911c783beef9c80188d
Author: Rick Macklem <rmacklem@FreeBSD.org>
AuthorDate: 2022-05-27 21:32:46 +0000
Commit: Rick Macklem <rmacklem@FreeBSD.org>
CommitDate: 2022-06-10 22:22:57 +0000
nfscl: Add a diagnostic printf() for a "should never happen" case
When a NFSv4.1/4.2 session to the NFS server (not a pNFS DS) is
replaced, the old session should always be marked defunct by
nfsess_defunct being set non-zero.
However, the hang reported by the PR suggests that this might
be the case.
This patch adds a printf() to indicate this has somehow happened.
PR: 260011
(cherry picked from commit a7bb120f8b8735bc4c417b3c8fc2308c3d2964aa)
---
sys/fs/nfsclient/nfs_clrpcops.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/sys/fs/nfsclient/nfs_clrpcops.c b/sys/fs/nfsclient/nfs_clrpcops.c
index 01b8eda2e441..3e081fa750db 100644
--- a/sys/fs/nfsclient/nfs_clrpcops.c
+++ b/sys/fs/nfsclient/nfs_clrpcops.c
@@ -973,8 +973,12 @@ nfsrpc_setclient(struct nfsmount *nmp, struct nfsclclient *clp, int reclaim,
* in-progress RPCs.
*/
tsep = NULL;
- if (TAILQ_FIRST(&nmp->nm_sess) != NULL)
+ if (TAILQ_FIRST(&nmp->nm_sess) != NULL) {
tsep = NFSMNT_MDSSESSION(nmp);
+ if (tsep->nfsess_defunct == 0)
+ printf("nfsrpc_setclient: "
+ "nfsess_defunct not set\n");
+ }
TAILQ_INSERT_HEAD(&nmp->nm_sess, dsp,
nfsclds_list);
/*