svn commit: r364395 - head/sys/kern

Mateusz Guzik mjg at FreeBSD.org
Wed Aug 19 15:08:15 UTC 2020


Author: mjg
Date: Wed Aug 19 15:08:14 2020
New Revision: 364395
URL: https://svnweb.freebsd.org/changeset/base/364395

Log:
  cache: when adding an already existing entry assert on a complete match

Modified:
  head/sys/kern/vfs_cache.c

Modified: head/sys/kern/vfs_cache.c
==============================================================================
--- head/sys/kern/vfs_cache.c	Wed Aug 19 15:07:28 2020	(r364394)
+++ head/sys/kern/vfs_cache.c	Wed Aug 19 15:08:14 2020	(r364395)
@@ -1957,6 +1957,15 @@ cache_enter_time(struct vnode *dvp, struct vnode *vp, 
 		if (n2->nc_dvp == dvp &&
 		    n2->nc_nlen == cnp->cn_namelen &&
 		    !bcmp(n2->nc_name, cnp->cn_nameptr, n2->nc_nlen)) {
+			MPASS(cache_ncp_canuse(n2));
+			if ((n2->nc_flag & NCF_NEGATIVE) != 0)
+				KASSERT(vp == NULL,
+				    ("%s: found entry pointing to a different vnode (%p != %p)",
+				    __func__, NULL, vp));
+			else
+				KASSERT(n2->nc_vp == vp,
+				    ("%s: found entry pointing to a different vnode (%p != %p)",
+				    __func__, n2->nc_vp, vp));
 			if (tsp != NULL) {
 				KASSERT((n2->nc_flag & NCF_TS) != 0,
 				    ("no NCF_TS"));


More information about the svn-src-all mailing list