git: b875d4f5ddcb - main - nfsd: Update console message for no session found

From: Rick Macklem <rmacklem_at_FreeBSD.org>
Date: Sun, 28 Aug 2022 01:33:09 UTC
The branch main has been updated by rmacklem:

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

commit b875d4f5ddcbe0ce06f22650dd471b7518546dd6
Author:     Rick Macklem <rmacklem@FreeBSD.org>
AuthorDate: 2022-08-28 01:31:20 +0000
Commit:     Rick Macklem <rmacklem@FreeBSD.org>
CommitDate: 2022-08-28 01:31:20 +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.
    
    Reviewed by:    asomers
    MFC after:      2 weeks
    Differential Revision:  https://reviews.freebsd.org/D36377
---
 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 aac845e68af7..d5d7f9fbd363 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);