Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Dec 2008 23:06:10 +0200
From:      Kostik Belousov <kostikbel@gmail.com>
To:        Joe Marcus Clarke <marcus@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r186458 - head/sys/kern
Message-ID:  <20081223210610.GK74688@deviant.kiev.zoral.com.ua>
In-Reply-To: <200812232043.mBNKhgkJ013132@svn.freebsd.org>
References:  <200812232043.mBNKhgkJ013132@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--sdEQJo40s7ofW8iR
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Dec 23, 2008 at 08:43:42PM +0000, Joe Marcus Clarke wrote:
> Author: marcus (doc,ports committer)
> Date: Tue Dec 23 20:43:42 2008
> New Revision: 186458
> URL: http://svn.freebsd.org/changeset/base/186458
>=20
> Log:
>   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
I was very unaccurate in my formulation to the point where the statement
should be considered plain wrong. This does not invalidate the commit,
but the way to say this is
  v_dd is set to NULL by ".." lookups for directories that are not cached
  as the dst for their names.

>   seen when running installworld on a diskless system with a separate /usr
>   file system.
>  =20
>   Submitted by:	cracauer
>   Approved by:	kib
>=20
> Modified:
>   head/sys/kern/vfs_cache.c
>=20
> Modified: head/sys/kern/vfs_cache.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- head/sys/kern/vfs_cache.c	Tue Dec 23 20:25:04 2008	(r186457)
> +++ head/sys/kern/vfs_cache.c	Tue Dec 23 20:43:42 2008	(r186458)
> @@ -936,7 +936,7 @@ vn_fullpath1(struct thread *td, struct v
>  		}
>  		ncp =3D TAILQ_FIRST(&vp->v_cache_dst);
>  		if (ncp !=3D NULL) {
> -			MPASS(ncp->nc_dvp =3D=3D vp->v_dd);
> +			MPASS(vp->v_dd =3D=3D NULL || ncp->nc_dvp =3D=3D vp->v_dd);
>  			buflen -=3D ncp->nc_nlen - 1;
>  			for (i =3D ncp->nc_nlen - 1; i >=3D 0 && bp !=3D buf; i--)
>  				*--bp =3D ncp->nc_name[i];

--sdEQJo40s7ofW8iR
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (FreeBSD)

iEYEARECAAYFAklRUsEACgkQC3+MBN1Mb4gHogCdFFv8lkCRXmfwmYRkMV3x06Py
ZhkAoJhPyZ+8v3PxxOZiGv7uz68ZDrY4
=GIQ3
-----END PGP SIGNATURE-----

--sdEQJo40s7ofW8iR--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20081223210610.GK74688>