Date: Tue, 10 Mar 2009 11:03:09 +0200 From: Giorgos Keramidas <keramida@ceid.upatras.gr> 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: r189539 - head/sys/kern Message-ID: <878wndeomq.fsf@kobe.laptop> In-Reply-To: <200903081905.n28J5sFQ092475@svn.freebsd.org> (Joe Marcus Clarke's message of "Sun, 8 Mar 2009 19:05:54 %2B0000 (UTC)") References: <200903081905.n28J5sFQ092475@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 8 Mar 2009 19:05:54 +0000 (UTC), Joe Marcus Clarke <marcus@FreeBSD.org> wrote: > Author: marcus (doc,ports committer) > Date: Sun Mar 8 19:05:53 2009 > New Revision: 189539 > URL: http://svn.freebsd.org/changeset/base/189539 > > Log: > Add a default implementation for VOP_VPTOCNP(9) which scans the parent > directory of a vnode to find a dirent with a matching file number. The > name from that dirent is then used to provide the component name. > > Note: if the initial vnode argument is not a directory itself, then > the default VOP_VPTOCNP(9) implementation still returns ENOENT. > > Reviewed by: kib > Approved by: kib > Tested by: pho I think this panics nullfs mounts. I have a kernel build from subversion changeset /head@189540 that panics instantly with: panic: vrele: negative ref cnt inside nullfs, every time I do something like: # mount -t nullfs /home/build/obj /usr/obj # mount -t nullfs /home/build/src /usr/src # cd /usr/src/usr.sbin/fwcontrol # make clean # make all The `make all' command never returns, and the resulting kgdb backtrace is something like: (kgdb) bt #0 doadump () at pcpu.h:246 #1 0xc063d4be in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:420 #2 0xc063d792 in panic (fmt=Variable "fmt" is not available. ) at /usr/src/sys/kern/kern_shutdown.c:576 #3 0xc06c8fb1 in vrele (vp=0xc8896648) at /usr/src/sys/kern/vfs_subr.c:2191 #4 0xc6761610 in null_nodeget (mp=0xc674f000, lowervp=0xc8896648, vpp=0xe9081bf0) at /usr/src/sys/modules/nullfs/../../fs/nullfs/null_subr.c:204 #5 0xc6762601 in null_bypass (ap=0xe9081bdc) at /usr/src/sys/modules/nullfs/../../fs/nullfs/null_vnops.c:325 #6 0xc08d7173 in VOP_VPTOCNP_APV (vop=0xc6763240, a=0xe9081bdc) at vnode_if.c:2871 #7 0xc06b4e89 in vn_vptocnp (vp=0xe9081c24, bp=0xe9081c28, buf=0xc63ce000 "ήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐήήΐή"..., buflen=0xe9081c48) at vnode_if.h:1541 #8 0xc06b520a in vn_fullpath1 (td=Variable "td" is not available. ) at /usr/src/sys/kern/vfs_cache.c:1001 #9 0xc06b55a0 in kern___getcwd (td=0xc6de56c0, buf=0xbfbfddf6 <Address 0xbfbfddf6 out of bounds>, bufseg=UIO_USERSPACE, buflen=1024) at /usr/src/sys/kern/vfs_cache.c:795 #10 0xc06b5749 in __getcwd (td=0xc6de56c0, uap=0xe9081cf8) at /usr/src/sys/kern/vfs_cache.c:769 #11 0xc08cc973 in syscall (frame=0xe9081d38) at /usr/src/sys/i386/i386/trap.c:1076 ---Type <return> to continue, or q <return> to quit--- #12 0xc08b0eb0 in Xint0x80_syscall () at /usr/src/sys/i386/i386/exception.s:261 #13 0x00000033 in ?? () Previous frame inner to this frame (corrupt stack?) (kgdb) q root@kobe:/var/crash# exit exit
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?878wndeomq.fsf>
