Skip site navigation (1)Skip section navigation (2)
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>