From 09a2776e693b4dac1f7a62f8e264ecf07bb78485 Mon Sep 17 00:00:00 2001 From: marcus Date: Tue, 23 Dec 2008 20:43:42 +0000 Subject: [PATCH] Do not KASSERT when vp->v_dd is NULL. Only directories which have had ".." looked up would have v_dd set to a non-NULL value. This fixes a panic seen when running installworld on a diskless system with a separate /usr file system. Submitted by: cracauer Approved by: kib --- sys/kern/vfs_cache.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c index d3829c99ff35..6fad06e1f498 100644 --- a/sys/kern/vfs_cache.c +++ b/sys/kern/vfs_cache.c @@ -936,7 +936,7 @@ vn_fullpath1(struct thread *td, struct vnode *vp, struct vnode *rdir, } ncp = TAILQ_FIRST(&vp->v_cache_dst); if (ncp != NULL) { - MPASS(ncp->nc_dvp == vp->v_dd); + MPASS(vp->v_dd == NULL || ncp->nc_dvp == vp->v_dd); buflen -= ncp->nc_nlen - 1; for (i = ncp->nc_nlen - 1; i >= 0 && bp != buf; i--) *--bp = ncp->nc_name[i];