: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         p...@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 
                                        <dil...@backplane.com>



To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-current" in the body of the message

Reply via email to