From woods@tap.zeus.leitch.com  Tue Apr  7 11:50:17 1998
Received: from gateman.zeus.leitch.com (gateman.zeus.leitch.com [204.187.61.193])
          by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id LAA14180
          for <FreeBSD-gnats-submit@freebsd.org>; Tue, 7 Apr 1998 11:50:15 -0700 (PDT)
          (envelope-from woods@tap.zeus.leitch.com)
Received: from zeus.leitch.com (tap.zeus.leitch.com [204.187.61.10]) by gateman.zeus.leitch.com (8.8.5/8.7.3/1.0) with ESMTP id OAA19600 for <FreeBSD-gnats-submit@freebsd.org>; Tue, 7 Apr 1998 14:50:14 -0400 (EDT)
Received: from brain.zeus.leitch.com (brain.zeus.leitch.com [204.187.61.32]) by zeus.leitch.com (8.7.5/8.7.3/1.0) with ESMTP id OAA08771 for <FreeBSD-gnats-submit@freebsd.org>; Tue, 7 Apr 1998 14:50:05 -0400 (EDT)
Received: (from woods@localhost)
	by brain.zeus.leitch.com (8.8.8/8.8.8) id OAA26969;
	Tue, 7 Apr 1998 14:50:04 -0400 (EDT)
	(envelope-from woods@tap.zeus.leitch.com)
Message-Id: <199804071850.OAA26969@brain.zeus.leitch.com>
Date: Tue, 7 Apr 1998 14:50:04 -0400 (EDT)
From: woods@zeus.leitch.com
Reply-To: woods@zeus.leitch.com
To: FreeBSD-gnats-submit@freebsd.org
Subject: vnode disk driver too unstable in -STABLE to "make release"
X-Send-Pr-Version: 3.2

>Number:         6242
>Category:       kern
>Synopsis:       vnode disk driver too unstable in -STABLE to "make release"
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Apr  7 12:00:01 PDT 1998
>Closed-Date:    Sun Jul 4 04:31:52 PDT 1999
>Last-Modified:  Sun Jul  4 04:33:16 PDT 1999
>Originator:     Greg A. Woods
>Release:        FreeBSD 2.2.6-STABLE i386 (from cvsup on 1998/03/31)
>Organization:
Planix, Inc.; Toronto, Ontario; Canada [on contract to Leitch Technology International]
>Environment:

Copyright (c) 1992-1998 FreeBSD Inc.
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.

FreeBSD 2.2.6-STABLE #0: Mon Apr  6 15:05:13 EDT 1998
    woods@brain.zeus.leitch.com:/var/work.d/Leitch-BSD-2.2/sys/compile/BRAIN
CPU: Pentium Pro (267.27-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x633  Stepping=3
  Features=0x80f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,MMX>
real memory  = 268435456 (262144K bytes)
avail memory = 260980736 (254864K bytes)
Probing for devices on PCI bus 0:
chip0 <generic PCI bridge (vendor=8086 device=7180 subclass=0)> rev 3 on pci0:0:0
chip1 <generic PCI bridge (vendor=8086 device=7181 subclass=4)> rev 3 on pci0:1:0
chip2 <Intel 82371AB PCI-ISA bridge> rev 1 on pci0:4:0
chip3 <Intel 82371AB IDE interface> rev 1 on pci0:4:1
chip4 <Intel 82371AB USB interface> rev 1 int d irq 9 on pci0:4:2
chip5 <Intel 82371AB Power management controller> rev 1 on pci0:4:3
vga0 <VGA-compatible display device> rev 154 on pci0:9:0
fxp0 <Intel EtherExpress Pro 10/100B Ethernet> rev 2 int a irq 10 on pci0:11:0
fxp0: Ethernet address 00:a0:c9:6c:7f:79
ahc0 <Adaptec 2940 Ultra SCSI host adapter> rev 1 int a irq 11 on pci0:12:0
ahc0: aic7880 Wide Channel, SCSI Id=7, 16/255 SCBs
ahc0: target 0 Tagged Queuing Device
(ahc0:0:0): "SEAGATE ST34501W 0018" type 0 fixed SCSI 2
sd0(ahc0:0:0): Direct-Access 4339MB (8887200 512 byte sectors)
sd0(ahc0:0:0): with 6576 cyls, 8 heads, and an average 168 sectors/track
ahc0: target 1 Tagged Queuing Device
(ahc0:1:0): "SEAGATE ST34501W 0018" type 0 fixed SCSI 2
sd1(ahc0:1:0): Direct-Access 4339MB (8887200 512 byte sectors)
sd1(ahc0:1:0): with 6576 cyls, 8 heads, and an average 168 sectors/track
ahc0: target 2 Tagged Queuing Device
(ahc0:2:0): "SEAGATE ST34501W 0013" type 0 fixed SCSI 2
sd2(ahc0:2:0): Direct-Access 4339MB (8887200 512 byte sectors)
sd2(ahc0:2:0): with 6576 cyls, 8 heads, and an average 168 sectors/track
probe0(ahc0:9:0): scsi_cmd
probe0(ahc0:9:0): scsi_done
(ahc0:9:0): command: 0,0,0,0,0,0-[0 bytes]
probe0(ahc0:9:0): scsi_cmd
probe0(ahc0:9:0): scsi_done
(ahc0:9:0): command: 12,0,0,0,2c,0-[44 bytes]
------------------------------
000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
016: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
032: 00 00 00 00 00 00 00 00 00 00 00 00 
------------------------------
Probing for devices on PCI bus 1:
Probing for devices on the ISA bus:
sc0 at 0x60-0x6f irq 1 on motherboard
sc0: VGA color <16 virtual consoles, flags=0x0>
sio0 at 0x3f8-0x3ff irq 4 on isa
sio0: type 16550A
sio1 at 0x2f8-0x2ff irq 3 on isa
sio1: type 16550A
lpt0 at 0x378-0x37f irq 7 on isa
lpt0: Interrupt-driven port
lp0: TCP/IP capable interface
psm0 at 0x60-0x64 irq 12 on motherboard
psm0: model Generic PS/2 mouse, device ID 0
fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
fdc0: FIFO enabled, 8 bytes threshold
fd0: 1.44MB 3.5in
wdc0 at 0x1f0-0x1f7 irq 14 on isa
wdc0: unit 0 (wd0): <WDC AC12100L>
wd0: 2014MB (4124736 sectors), 4092 cyls, 16 heads, 63 S/T, 512 B/S
npx0 on motherboard
npx0: INT 16 interface
ccd0-3: Concatenated disk drivers
IP Filter: initialized.  Default = pass all, Logging = enabled
fxp0: promiscuous mode enabled

>Description:

My 'make release' for 2.2.6-STABLE bombed out while building the fixit
floppy complaining that the /mnt filesystem was full:

	pid 20209 (cpio), uid 0 on /mnt: file system full

Now the /mnt filesystem is in a very strange state and seemingly cannot
be unmounted.

This very same operation worked A-OK in repeated builds with
2.2.5-STABLE with sources as recent as 1998/01/26.

Here's a bit of a view of the current state of the system:

	14:40 [2141] # df -k
	Filesystem  1K-blocks     Used    Avail Capacity  Mounted on
	/dev/wd0s1a     63583    19784    38713    34%    /
	/dev/wd0s1e   1685071  1127314   422952    73%    /usr
	/dev/sd0e     3287278  2310081   714215    76%    /var
	/dev/ccd0c    4310829   942094  3023869    24%    /cvs
	procfs              4        4        0   100%    /proc
	kernfs              1        1        0   100%    /kern
	tap:/home1    1032686   674330   275742    71%    /home1
	tap:/home2    1032686   873898    76174    92%    /home2
	/dev/vn0c        1195     1195        0   100%    /mnt

	14:40 [2142] # df -k /mnt
	Filesystem   1K-blocks     Used    Avail Capacity  Mounted on
	/dev/wd0s1a      63583    19784    38713    34%    /

Note above that '/mnt' didn't translate properly and we got just '/'.

	14:31 [2131] # umount -v /mnt
	/dev/vn0c: unmount from /mnt
	umount: /mnt: Invalid argument

Note the same thing happens for 'umount /dev/vn0c' too....

	14:31 [2132] # ls -lia /mnt
	total 4
	15499 drwxr-xr-x   2 root  wheel  512 Oct 21 10:13 .
	    2 drwxr-xr-x  19 root  wheel  512 Apr  6 15:06 ..

	14:32 [2133] # du /mnt
	2       /mnt

Even though df says it's full there's apparently nothing in there!

	14:32 [2134] # mount
	/dev/wd0s1a on / (local)
	/dev/wd0s1e on /usr (local)
	/dev/sd0e on /var (local)
	/dev/ccd0c on /cvs (NFS exported, local)
	procfs on /proc (local)
	kernfs on /kern (local)
	tap:/home1 on /home1
	tap:/home2 on /home2
	/dev/vn0c on /mnt (local)

Indeed the fs-image file looks OK:

	14:44 [196] $ pwd
	/var/release/Leitch-BSD-2.2-980331-TEST-00/usr/obj/usr/src/release
	14:44 [197] $ ls -l
	total 5846
	drwxrwxr-x  2 root  bin     1536 Apr  6 20:42 boot_crunch
	-rwxrwxr-x  1 root  bin     8842 Apr  6 21:13 dumpnlist
	drwxrwxr-x  2 root  bin     3584 Apr  6 20:45 fixit_crunch
	-rw-rw-r--  1 root  bin  1474560 Apr  7 12:09 fs-image
	-rw-rw-r--  1 root  bin        5 Apr  6 21:17 fs-image.size
	-rw-rw-r--  1 root  bin  1474560 Apr  6 21:17 fs-image.std
	-rw-rw-r--  1 root  bin        5 Apr  6 21:13 fs-image.std.size
	-rw-rw-r--  1 root  bin        0 Apr  6 20:14 release.1
	-rw-rw-r--  1 root  bin        0 Apr  6 20:28 release.2
	-rw-rw-r--  1 root  bin        0 Apr  6 20:40 release.3
	-rw-rw-r--  1 root  bin        0 Apr  6 20:45 release.4
	-rw-rw-r--  1 root  bin        0 Apr  6 21:00 release.5
	-rw-rw-r--  1 root  bin        0 Apr  6 21:06 release.6
	-rw-rw-r--  1 root  bin        0 Apr  6 21:13 release.7
	-rw-rw-r--  1 root  bin        0 Apr  6 21:17 release.8
	drwxrwxr-x  2 root  bin     1024 Apr  6 20:42 sysinstall
	-rwxrwxr-x  1 root  bin     8865 Apr  6 21:13 write_mfs_in_kernel


Here's a cut&paste of the tail end of the output from the make release
showing that the boot floppy was made A-OK just before (clearly proving
that I do have a vn device properly configured in the kernel, etc.):

sh -e /usr/src/release/doFS.sh /R/stage /mnt 1440 /R/stage/boot.std  100000 fd1440
ioctl DIOCWLABEL: Operation not supported by device
Warning: Block size restricts cylinders per group to 9.
/dev/rvn0c:     2880 sectors in 1 cylinders of 1 tracks, 2880 sectors
        1.4MB in 1 cyl groups (9 c/g, 12.66MB/g, 128 i/g)
super-block backups (for fsck -b #) at:
 32,
2301 blocks
Filesystem  1K-blocks     Used    Avail Capacity iused   ifree  %iused  Mounted on
/dev/vn0c        1395     1158      237    83%       5     121     4%   /mnt
/dev/rvn0c: clean, 475 free (11 frags, 58 blocks, 0.4% fragmentation)
mv fs-image /R/stage/floppies/bootstd.flp
mv /R/stage/floppies/bootstd.flp /R/stage/floppies/boot.flp
Regular boot floppy made.
touch release.8
rm -rf /R/stage/fixitfd
mkdir /R/stage/fixitfd
cd /R/stage/fixitfd &&  mkdir -p dev stand bin sbin etc mnt mnt1 mnt2 mnt3 mnt4 tmp  usr/share/misc usr/mdec
if false ; then  gzip -9 < /R/stage/crunch/fixit > /R/stage/fixitfd/stand/fixit_crunch ;  else  ln -f /R/stage/crunch/fixit /R/stage/fixitfd/stand/fixit_crunch ;  fi
chmod 555 /R/stage/fixitfd/stand/fixit_crunch
for i in `crunchgen -l /usr/src/release/fixit_crunch.conf` ; do  ln -f /R/stage/fixitfd/stand/fixit_crunch /R/stage/fixitfd/stand/$i ;  done
( cd /R/stage/fixitfd/dev &&  sed -e '/^PATH/s/^/#/' /R/stage/trees/bin/dev/MAKEDEV > MAKEDEV &&  chmod 755 MAKEDEV &&  sh MAKEDEV all )
cp /R/stage/trees/bin/etc/spwd.db /R/stage/trees/bin/etc/group  /R/stage/trees/bin/etc/protocols /R/stage/fixitfd/etc
cp /R/stage/trees/bin/usr/share/misc/scsi_modes  /R/stage/fixitfd/usr/share/misc
cp /R/stage/trees/bin/usr/mdec/boot[12] /R/stage/fixitfd/usr/mdec
for type in fd od sd wd ; do  ( cd /R/stage/fixitfd/usr/mdec && ln -s boot1 ${type}boot &&  ln -s boot2 boot${type} ) ;  done
cp /usr/src/release/fixit.profile /R/stage/fixitfd/.profile
cp /usr/src/release/fixit.services /R/stage/fixitfd/etc/services
cp /usr/src/release/tar.sh /R/stage/fixitfd/stand/tar
chmod 555 /R/stage/fixitfd/stand/tar
sh -e /usr/src/release/doFS.sh /R/stage /mnt 1440 /R/stage/fixitfd  6000 fd1440
ioctl DIOCWLABEL: Operation not supported by device
Warning: Block size restricts cylinders per group to 8.
/dev/rvn0c:     2880 sectors in 1 cylinders of 1 tracks, 2880 sectors
        1.4MB in 1 cyl groups (8 c/g, 11.25MB/g, 1728 i/g)
super-block backups (for fsck -b #) at:
 32,

/mnt: write failed, file system is full
cpio: write error: No space left on device
*** Error code 1

>How-To-Repeat:

1. install 2.2.6
2. get RELENG_2_2 as of 1998/03/31 into /usr/src
3. build new GENERIC (-like) kernel and re-install
4. cd /usr/src && 'make world'
5. rebuild new kernel and re-install
6. cd /usr/src/release && 'make release' (with approp. options)

The exact kernel config follows:

#
# BRAIN -- kernel config for CVS Repository machine
#
# This kernel is for a big-memory machine with SCSI+IDE and one ethernet
#
#ident	"@(#)FreeBSD:$Id: BRAIN,v 1.3 1998/04/06 18:59:13 woods Exp $"
#
machine		"i386"
cpu		"I686_CPU"
ident		"BRAIN"
maxusers	96
options		INET			#InterNETworking
options 	IPFILTER		#Darren Reed's ip-filter
options 	IPFILTER_LOG		#ip-filter logging
options		FFS			#Berkeley Fast Filesystem
options		NFS			#Network Filesystem
options 	KERNFS			#Kernel Filesystem
options		PROCFS			#Process filesystem
options		"COMPAT_43"		#Compatible with BSD 4.3
options 	INCLUDE_CONFIG_FILE	#Config file in kernel
options		UCONSOLE		#Allow users to grab the console
options 	USERCONFIG
options 	VISUAL_USERCONFIG
options 	"MAXMEM=(256*1024)"
options		SCSI_REPORT_GEOMETRY	#always show probed geom
options		SCSIDEBUG		#enable debug macros in SCSI code
options 	SHOW_BUSYBUFS		#List buffers that prevent root unmount
options 	AHC_TAGENABLE		#tagged command queuing
options 	AHC_SCBPAGING_ENABLE	#SCB paging
options 	AHC_ALLOW_MEMIO		#use memory mapped I/O
options		SYSVSHM
options		SYSVSEM
options		SYSVMSG
options		DDB			#kernel debugger
options		KTRACE			#kernel tracing
options		DIAGNOSTIC		#extra sanity checks
options		PERFMON			#P-Pro hw perf counters

config		kernel root on wd0 
controller	isa0
options 	"AUTO_EOI_1"
#options 	"AUTO_EOI_2"
controller	pci0
controller	fdc0	at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
disk		fd0	at fdc0 drive 0
controller	wdc0	at isa? port "IO_WD1" bio irq 14 vector wdintr
disk		wd0	at wdc0 drive 0
disk		wd1	at wdc0 drive 1
#controller	wdc1	at isa? port "IO_WD2" bio irq 15 vector wdintr
#disk		wd2	at wdc1 drive 0
#disk		wd3	at wdc1 drive 1
#options 	ATAPI   #Enable ATAPI support for IDE bus
#device		wcd0    #IDE CD-ROM
controller	ahc0
controller	scbus0
device		sd0
device		st0
device		cd0	#Only need one of these, the code dynamically grows
# sc, aka syscons, is the default console driver, resembling an SCO console
device		sc0	at isa? port "IO_KBD" tty irq 1 vector scintr
# NPX is Mandatory, don't remove:
# (Numeric Processing Extension coprocessor and emulator)
device		npx0	at isa? port "IO_NPX" irq 13 vector npxintr
device		sio0	at isa? port "IO_COM1" tty irq 4 vector siointr
device		sio1	at isa? port "IO_COM2" tty irq 3 vector siointr
device		lpt0	at isa? port? tty irq 7 vector lptintr
device		psm0	at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr
device		fxp0
pseudo-device	loop
pseudo-device	ether
pseudo-device	log
# bpfilter, aka bpf(4), is the Berkeley Packet Filter
pseudo-device	bpfilter 4
pseudo-device	pty	64
pseudo-device	vn	4
pseudo-device	ccd	4


>Fix:
	
unknown

>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: hoek 
State-Changed-When: Sun Jul 4 04:31:52 PDT 1999 
State-Changed-Why:  
I'm not sure that any development on the vnode driver is going to take 
place on the 2.2 branch anymore... 

Anyways, I'm pretty sure this was fixed on that branch not too long after 
this PR was filed, but feel free to reply to this if you're still having 
problems. 
>Unformatted:
