svn commit: r310241 - stable/11/sys/fs/nfs

Colin Percival cperciva at FreeBSD.org
Mon Dec 19 07:48:06 UTC 2016


Author: cperciva
Date: Mon Dec 19 07:48:04 2016
New Revision: 310241
URL: https://svnweb.freebsd.org/changeset/base/310241

Log:
  MFC r308708: Reduce verbosity of warnings about truncating NFS fileids to
  32-bit inode numbers.

Modified:
  stable/11/sys/fs/nfs/nfs_commonsubs.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/fs/nfs/nfs_commonsubs.c
==============================================================================
--- stable/11/sys/fs/nfs/nfs_commonsubs.c	Mon Dec 19 07:46:20 2016	(r310240)
+++ stable/11/sys/fs/nfs/nfs_commonsubs.c	Mon Dec 19 07:48:04 2016	(r310241)
@@ -827,6 +827,12 @@ nfsv4_loadattr(struct nfsrv_descript *nd
 	struct dqblk dqb;
 	uid_t savuid;
 #endif
+	static struct timeval last64fileid;
+	static size_t count64fileid;
+	static struct timeval last64mountfileid;
+	static size_t count64mountfileid;
+	static struct timeval warninterval = { 60, 0 };
+
 	if (compare) {
 		retnotsup = 0;
 		error = nfsrv_getattrbits(nd, &attrbits, NULL, &retnotsup);
@@ -1202,8 +1208,14 @@ nfsv4_loadattr(struct nfsrv_descript *nd
 					*retcmpp = NFSERR_NOTSAME;
 				}
 			} else if (nap != NULL) {
-				if (*tl++)
-					printf("NFSv4 fileid > 32bits\n");
+				if (*tl++) {
+					count64fileid++;
+					if (ratecheck(&last64fileid, &warninterval)) {
+						printf("NFSv4 fileid > 32bits (%zu occurrences)\n",
+						    count64fileid);
+						count64fileid = 0;
+					}
+				}
 				nap->na_fileid = thyp;
 			}
 			attrsum += NFSX_HYPER;
@@ -1740,8 +1752,14 @@ nfsv4_loadattr(struct nfsrv_descript *nd
 				}
 			    }
 			} else if (nap != NULL) {
-			    if (*tl++)
-				printf("NFSv4 mounted on fileid > 32bits\n");
+			    if (*tl++) {
+				count64mountfileid++;
+				if (ratecheck(&last64mountfileid, &warninterval)) {
+					printf("NFSv4 mounted on fileid > 32bits (%zu occurrences)\n",
+					    count64mountfileid);
+					count64mountfileid = 0;
+				}
+			    }
 			    nap->na_mntonfileno = thyp;
 			}
 			attrsum += NFSX_HYPER;


More information about the svn-src-all mailing list