git: aa5a54d5a738 - stable/13 - nfsd: Update console message for no session found

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

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

commit aa5a54d5a73865bc76a70b14baa319e6307d07f0
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:17:34 +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 6b2a6e56795d..d7dd69dad9d7 100644
--- a/sys/fs/nfsserver/nfs_nfsdstate.c
+++ b/sys/fs/nfsserver/nfs_nfsdstate.c
@@ -6383,9 +6383,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);