zfs-related(?) panic in cache_enter: wrong vnode type
Andriy Gapon
avg at FreeBSD.org
Thu Dec 8 09:23:51 UTC 2011
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
on 08/12/2011 10:13 Pawel Jakub Dawidek said the following:
> On Wed, Dec 07, 2011 at 06:50:35PM +0200, Andriy Gapon wrote:
>> (kgdb) bt #0 doadump (textdump=1) at pcpu.h:224 #1 0xffffffff804f6d3b
>> in kern_reboot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:447 #2
>> 0xffffffff804f63e9 in panic (fmt=0x104 <Address 0x104 out of bounds>) at
>> /usr/src/sys/kern/kern_shutdown.c:635 #3 0xffffffff80585f46 in
>> cache_enter (dvp=0xfffffe003d4763c0, vp=0xfffffe0142517000,
>> cnp=0xffffff82393b3708) at /usr/src/sys/kern/vfs_cache.c:726 #4
>> 0xffffffff81a90900 in zfs_lookup (dvp=0xfffffe003d4763c0,
>> nm=0xffffff82393b3140 "..", vpp=0xffffff82393b36e0,
>> cnp=0xffffff82393b3708, nameiop=0, cr=0xfffffe0042e88100,
>> td=0xfffffe000fdfa480, flags=0) at
>> /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c:1470
>
>>
> Which FreeBSD version is it? Because lines doesn't seem to match neither to
> HEAD nor to stable/8. It would be best of you could send me few lines
> around zfs_vnops.c:1470 and vfs_cache.c:726.
>
It's recent svn head, r228017, just with some local unrelated modifications.
1458 #ifdef FREEBSD_NAMECACHE
1459 /*
1460 * Insert name into cache (as non-existent) if appropriate.
1461 */
1462 if (error == ENOENT && (cnp->cn_flags & MAKEENTRY) && nameiop !=
CREATE)
1463 cache_enter(dvp, *vpp, cnp);
1464 /*
1465 * Insert name into cache if appropriate.
1466 */
1467 if (error == 0 && (cnp->cn_flags & MAKEENTRY)) {
1468 if (!(cnp->cn_flags & ISLASTCN) ||
1469 (nameiop != DELETE && nameiop != RENAME)) {
1470 cache_enter(dvp, *vpp, cnp);
1471 }
1472 }
1473 #endif
================
716 if (flag == NCF_ISDOTDOT) {
717 /*
718 * See if we are trying to add .. entry, but some other
lookup
719 * has populated v_cache_dd pointer already.
720 */
721 if (dvp->v_cache_dd != NULL) {
722 CACHE_WUNLOCK();
723 cache_free(ncp);
724 return;
725 }
726 KASSERT(vp == NULL || vp->v_type == VDIR,
727 ("wrong vnode type %p", vp));
728 dvp->v_cache_dd = ncp;
729 }
- --
Andriy Gapon
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (FreeBSD)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iQEcBAEBAgAGBQJO4IIgAAoJEHSlLSemUf4v5v0H/RqN3RagBBleHYZTY+39gxj3
I2urnYxB+1vi2b9o/B4KRQXi5gByAY3sukDnKrABxXK3ycOOJjQ5o8Xz0NMqcwHY
r6oMnh/4NLpZi+Cwx0LQKycRZuPMsKzYJpMrofE/Q9Nl1EgUjz6Er2fOaEiu1xUO
DAWKrJdgFNE3Kwjy64oqftcC9Aw9g0+lcyVp+Pzw9HRHzw1h8wokH+EvslfFqtJ0
YFCabxTxNQrqpCgv8PEEAAyNiqB7S9X43f5RKNuMFOiwGp8GsP7O6j9AFDUoM9os
+KkkN0hE28jB4daQ0HJpPr9Kz3Mkr91yMT+nxMv1lPH9BmGYWwbx3Jck0c7o+OY=
=8Y/W
-----END PGP SIGNATURE-----
More information about the freebsd-current
mailing list