git: 5c3ee00b3367 - stable/12 - nfsd: Update console message for no session found

From: Rick Macklem <rmacklem_at_FreeBSD.org>
Date: Fri, 16 Sep 2022 22:28:57 UTC
The branch stable/12 has been updated by rmacklem:

URL: https://cgit.FreeBSD.org/src/commit/?id=5c3ee00b336769d415a87fd775e1ce917f4d90ff

commit 5c3ee00b336769d415a87fd775e1ce917f4d90ff
Author:     Rick Macklem <rmacklem@FreeBSD.org>
AuthorDate: 2022-08-28 01:31:20 +0000
Commit:     Rick Macklem <rmacklem@FreeBSD.org>
CommitDate: 2022-09-16 22:25:59 +0000

    nfsd: Update console message for no session found
    
    The NFSv4.1/4.2 server generates a console message that indicates
    that there is no session. I was until recently perplexed w.r.t. how
    this could occur. It turns out that the common cause is multiple NFS
    clients with the same /etc/hostid.
    
    The host uuid is used by the FreeBSD NFSv4.1/4.2 client as a unique
    identifier for the client. If multiple clients use the same host uuid,
    this indicates to the NFSv4.1/4.2 server that they are the same client
    and confusion occurs.
    
    This trivial patch modifies the console message to suggest that the
    client's /etc/hostid needs to be checked for uniqueness.
    
    (cherry picked from commit b875d4f5ddcbe0ce06f22650dd471b7518546dd6)
---
 sys/fs/nfsserver/nfs_nfsdstate.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/sys/fs/nfsserver/nfs_nfsdstate.c b/sys/fs/nfsserver/nfs_nfsdstate.c
index 1ca275c670fc..50bb201a2ca6 100644
--- a/sys/fs/nfsserver/nfs_nfsdstate.c
+++ b/sys/fs/nfsserver/nfs_nfsdstate.c
@@ -6337,9 +6337,12 @@ nfsrv_cache_session(struct nfsrv_descript *nd, struct mbuf **m)
 			}
 			if (cp != NULL)
 				printf("nfsrv_cache_session: no session "
-				    "IPaddr=%s\n", cp);
+				    "IPaddr=%s, check NFS clients for unique "
+				    "/etc/hostid's\n", cp);
 			else
-				printf("nfsrv_cache_session: no session\n");
+				printf("nfsrv_cache_session: no session, "
+				    "check NFS clients for unique "
+				    "/etc/hostid's\n");
 			free(buf, M_TEMP);
 		}
 		m_freem(*m);