Subject: kern/339: mkdir unionfs panic: vref used where vget required
To: None <gnats-admin>
From: None <tsarna@endicor.com>
List: netbsd-bugs
Date: 07/13/1994 13:35:09
>Number:         339
>Category:       kern
>Synopsis:       mkdir unionfs panic: vref used where vget required
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    gnats-admin (Kernel Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Jul 13 13:35:05 1994
>Originator:     Ty Sarna
>Organization:
	Endicor Technologies, Inc.
	P.O. Box 29000 #355
	San Antonio, TX 78247
	(210) 650-4988
>Release:        1.0-ALPHA amiga port, July 11 sup
>Environment:
System: NetBSD rous.endicor.com 1.0-ALPHA
	NetBSD 1.0-ALPHA (ROUS) #116: Tue Jul 12 11:52:04 CDT 1994
	root@rous.endicor.com:/usr/src/sys/arch/amiga/compile/ROUS
	amiga

System is Amiga A3000T, '030, 10M (8Fast/2Chip).

>Description:

Sometimes when using the union vfs, the system will panic with "vref
used where vget required".  I found this when configuring a kernel and
creating the compile/KERNNAME directory.  (I have the sup tree NFS
mounted from anouther machine, and I remount it under an empty /usr/src
with unionfs and the -b flag).  I found a simple way to reproduce the
mkdir panic.  It also seems to panic on other operations too, but this
was the easiest to duplicate, and hopefully fixing this one will catch
the others. 

After the panic, a ddb traceback looks like this:

_Debugger
_panic
_vref(...) + 12
_union_allocvp(...) + 350
_union_mkdir(...) + a2
_mkdir
_syscall
_trap

(I can get all the numbers if you like, but I doubt they'll mean much on
an i386)

>How-To-Repeat:

	rous# cd /usr
	rous# mkdir foo bar
	rous# mkdir bar/baz bar/bob
	rous# mount -t union -o -b /usr/bar /usr/foo
	rous# cd /usr/foo/bob
	rous# mkdir ../baz/kaboom
	panic: vref used where vget required
	
>Fix:
>Audit-Trail:
>Unformatted:


------------------------------------------------------------------------------