Date: Thu, 08 Dec 2011 11:23:44 +0200 From: Andriy Gapon <avg@FreeBSD.org> To: Pawel Jakub Dawidek <pjd@FreeBSD.org> Cc: freebsd-fs@FreeBSD.org, freebsd-current@FreeBSD.org Subject: Re: zfs-related(?) panic in cache_enter: wrong vnode type Message-ID: <4EE08220.3010908@FreeBSD.org> In-Reply-To: <20111208081304.GE1678@garage.freebsd.pl> References: <4EDF995B.9000407@FreeBSD.org> <20111208081304.GE1678@garage.freebsd.pl>
next in thread | previous in thread | raw e-mail | index | archive | help
-----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-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4EE08220.3010908>