Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 Apr 1998 14:50:04 -0400 (EDT)
From:      woods@zeus.leitch.com
To:        FreeBSD-gnats-submit@FreeBSD.ORG
Subject:   kern/6242: vnode disk driver too unstable in -STABLE to "make release"
Message-ID:  <199804071850.OAA26969@brain.zeus.leitch.com>

next in thread | raw e-mail | index | archive | help

>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:          open
>Quarter:
>Keywords:
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Apr  7 12:00:01 PDT 1998
>Last-Modified:
>Originator:     Greg A. Woods
>Organization:
Planix, Inc.; Toronto, Ontario; Canada [on contract to Leitch Technology International]
>Release:        FreeBSD 2.2.6-STABLE i386 (from cvsup on 1998/03/31)
>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

>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199804071850.OAA26969>