Date: Tue, 16 Mar 1999 11:11:44 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: Pierre Beyssac <beyssac@enst.fr> Cc: freebsd-current@FreeBSD.ORG Subject: Re: panic: vfs_busy: unexpected lock failure Message-ID: <199903161911.LAA11778@apollo.backplane.com> References: <19990315174734.A400@enst.fr> <199903152124.NAA02779@apollo.backplane.com> <19990316111040.A384@enst.fr>
next in thread | previous in thread | raw e-mail | index | archive | help
:On Mon, Mar 15, 1999 at 01:24:46PM -0800, Matthew Dillon wrote:
:> Compile up a kernel with 'options DDB' and get a backtrace when
:> it panics next ( 'trace' command from DDB prompt ).
:
:Ok, here goes. The kernel is compiled without -g for the moment,
:but I've provided the function offsets if that may help.
:
:vfs_busy() at vfs_busy+0x6d
:lookup() +0x3b9
:namei() +0x180
:stat() +0x44
:syscall() +0x187
:
:I also get what seems to be spurious EPROTONOSUPPORT errors that
:show up in cp while copying files...
:--
:Pierre Beyssac pb@enst.fr
The code in lookup() that calls vfs_busy() is:
while (dp->v_type == VDIR && (mp = dp->v_mountedhere) &&
(cnp->cn_flags & NOCROSSMOUNT) == 0) {
if (vfs_busy(mp, 0, 0, p))
continue;
error = VFS_ROOT(mp, &tdp);
vfs_unbusy(mp, p);
if (error)
goto bad2;
vput(dp);
ndp->ni_vp = dp = tdp;
}
You shouldn't be crossing a mount point. Are you by chance doing a
recursive copy onto itself?
e.g. cp -rp src dest where dest is mounted under src somewhere ?
Of course, it is still a serious kernel bug. I would like to try
to reproduce it in order to track it down. How are things mounted on
your system ( df ) and what are the *exact* arguments you are using with
cp?
-Matt
Matthew Dillon
<dillon@backplane.com>
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199903161911.LAA11778>
