From owner-freebsd-current Sun Feb 9 09:54:45 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id JAA25842 for current-outgoing; Sun, 9 Feb 1997 09:54:45 -0800 (PST) Received: from linus.demon.co.uk (linus.demon.co.uk [158.152.10.220]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id JAA25834 for ; Sun, 9 Feb 1997 09:54:34 -0800 (PST) Received: (from mark@localhost) by linus.demon.co.uk (8.8.5/8.8.5) id RAA00493; Sun, 9 Feb 1997 17:54:01 GMT Message-Id: <199702091754.RAA00493@linus.demon.co.uk> From: mark@linus.demon.co.uk (Mark Valentine) Date: Sun, 9 Feb 1997 17:53:47 +0000 In-Reply-To: "Justin T. Gibbs"'s message of Feb 8, 7:27pm X-Mailer: Mail User's Shell (7.2.6 alpha(3) 7/19/95) To: "Justin T. Gibbs" Subject: Re: cvs commit: src/sys/dev/aic7xxx aic7xxx.seq aic7xxx_reg.h src/sys/i386/scsi aic7xxx.c src/sys/pci aic7870.c Cc: current@freebsd.org Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > From: "Justin T. Gibbs" > Date: Sat 8 Feb, 1997 > Subject: cvs commit: src/sys/dev/aic7xxx aic7xxx.seq aic7xxx_reg.h src/sys/i386/scsi aic7xxx.c src/sys/pci aic7870.c > gibbs 97/02/08 19:27:10 > > Revision Changes Path > 1.58 +30 -29 src/sys/dev/aic7xxx/aic7xxx.seq > 1.23 +1 -1 src/sys/dev/aic7xxx/aic7xxx_reg.h > > Revision Changes Path > 1.96 +36 -31 src/sys/i386/scsi/aic7xxx.c > > Revision Changes Path > 1.49 +1 -1 src/sys/pci/aic7870.c This changed the failure mode I've been experiencing over the last few days trying to install a new Atlas II drive on a 2940UW. I'm using a dump|restore pipe in single user mode to copy file systems from sd0 (a narrow 4GB Hawk) to sd1 (wide 4.5GB Atlas II). Previously, I would see a few of these: sd1 at scbus 0 target 1 lun0: data overrun of 496 bytes detected. Forcing a retry. These would follow in quick succession (anywhere from 1 to 6 instances), accompanied by i/o errors and then: mode=07, inum = 15708, fs = /mnt/var panic: ffs_valloc: dup alloc The mode and inum varied. Stack trace: _panic+0x51 _ffs_valloc+0x133 _ufs_mkdir+0x90 _mkdir+0x14d ... Now, after the above commit, I saw no overruns or panic, but the disk appears to stop responding completely at about the same point (perhaps a little later). I've only tried this once with the new code. I can still interrupt the dump, but breaking into DDB shows the system in idle_loop(). The dump processes are in various wait states (I presume - they are: wait, sbwait and pipedwt), and restore is marked "objtrm". A call to panic fails to sync the disks. By the way, I've been using the AHA2940UW with the Hawk since August, and in the last few weeks (before adding the Atlas II drive), I started to see occasional (and apparently harmless) overruns on sd0 during normal operation. System details and disk labels follow. (Motherboard is ASUS P/I-P6NP5.) $ dmesg Copyright (c) 1992-1996 FreeBSD Inc. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. FreeBSD 3.0-CURRENT #13: Sun Feb 9 16:40:49 GMT 1997 mark@dejah-thoris:/usr/src/sys/compile/DEJAH Calibrating clock(s) relative to mc146818A clock ... i586 clock: 199303002 Hz, i8254 clock: 1193146 Hz CPU: Pentium Pro (199.31-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x617 Stepping=7 Features=0xf9ff,MTRR,PGE,MCA,CMOV> real memory = 67108864 (65536K bytes) avail memory = 63471616 (61984K bytes) Probing for devices on PCI bus 0: chip0 rev 2 on pci0:0:0 chip1 rev 1 on pci0:1:0 chip2 rev 0 on pci0:1:1 vga0 rev 0 int a irq 15 on pci0:9:0 de0 rev 18 int a irq 9 on pci0:10:0 de0: SMC 9332 21140 [10-100Mb/s] pass 1.2 de0: address 00:00:c0:f6:db:e3 de0: enabling 10baseT port ahc0 rev 0 int a irq 10 on pci0:11:0 ahc0: aic7880 Wide Channel, SCSI Id=7, 16/255 SCBs ahc0: waiting for scsi devices to settle scbus0 at ahc0 bus 0 ahc0: target 0 Tagged Queuing Device sd0 at scbus0 target 0 lun 0 sd0: type 0 fixed SCSI 2 sd0: Direct-Access 4095MB (8386733 512 byte sectors) sd0: 3992 cyls, 19 heads, and an average 110 sectors/track ahc0: target 1 Tagged Queuing Device sd1 at scbus0 target 1 lun 0 sd1: type 0 fixed SCSI 2 sd1: Direct-Access 4341MB (8890760 512 byte sectors) sd1: 5899 cyls, 10 heads, and an average 150 sectors/track ncr0 rev 18 int a irq 11 on pci0:12:0 ncr0: waiting for scsi devices to settle scbus1 at ncr0 bus 0 sd2 at scbus1 target 3 lun 0 sd2: type 0 removable SCSI 2 sd2: Direct-Access sd2: 10.0 MB/s (100 ns, offset 8) sd2: ILLEGAL REQUEST asc:24,0 Invalid field in CDB sd2 could not mode sense (4). Using ficticious geometry 1021MB (2091050 512 byte sectors) sd2: 1021 cyls, 64 heads, and an average 32 sectors/track st0 at scbus1 target 4 lun 0 st0: type 1 removable SCSI 1 st0: Sequential-Access density code 0x0, drive empty cd0 at scbus1 target 6 lun 0 cd0: type 5 removable SCSI 2 cd0: CD-ROM cd0: 8.0 MB/s (125 ns, offset 8) cd0: cd present [313642 x 2048 byte records] 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 sio2 at 0x3e8-0x3ef irq 5 on isa sio2: 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: device ID 0, 3 buttons pca0 on motherboard pca0: PC speaker audio driver fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa fdc0: NEC 72065B fd0: 1.44MB 3.5in npx0 on motherboard npx0: INT 16 interface $ cat /sys/i386/conf/DEJAH # # DEJAH -- dejah-thoris # machine "i386" cpu "I686_CPU" ident DEJAH maxusers 10 options CHILD_MAX=128 options INET #InterNETworking options FFS #Berkeley Fast Filesystem options NFS #Network Filesystem options MFS #Memory File System #options DEVFS #devices filesystem options MSDOSFS #MSDOS Filesystem options "CD9660" #ISO 9660 Filesystem options PROCFS #Process filesystem options "COMPAT_43" #Compatible with BSD 4.3 [KEEP THIS!] options SCSI_DELAY=15 #Be pessimistic about Joe SCSI device options SCSI_REPORT_GEOMETRY options "AUTO_EOI_1" #options "AUTO_EOI_2" #options BOUNCE_BUFFERS #include support for DMA bounce buffers options UCONSOLE #Allow users to grab the console #options FAILSAFE #Be conservative options USER_LDT #allow user-level control of i386 ldt options SYSVSHM options SYSVSEM options SYSVMSG options DDB options KTRACE #kernel tracing options PERFMON options USERCONFIG #boot -c editor options VISUAL_USERCONFIG #visual boot -c editor config kernel root on sd0 controller isa0 controller pci0 controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr disk fd0 at fdc0 drive 0 #disk fd1 at fdc0 drive 1 #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 controller ncr0 controller ahc0 #controller nca0 at isa? port 0x1f88 bio irq 10 vector ncaintr controller scbus0 options AHC_TAGENABLE options AHC_SCBPAGING_ENABLE options AHC_ALLOW_MEMIO device sd0 device od0 #See LINT for possible `od' options. device st0 device cd0 #Only need one of these, the code dynamically grows #device worm0 at scbus? # SCSI worm #device pt0 at scbus? # SCSI processor type # syscons is the default console driver, resembling an SCO console device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr # Mandatory, don't remove 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 sio2 at isa? port "IO_COM3" tty irq 5 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 joy0 at isa? port "IO_GAME" device de0 #controller snd0 #device sb0 at isa? port 0x220 irq 5 conflicts drq 1 vector sbintr #options SBC_IRQ=5 #options "JAZZ16" #options "JAZZ_DMA16=3" #device opl0 at isa? port 0x388 #device mpu0 at isa? port 0x330 irq 9 #device uart0 at isa? port 0x330 irq 9 vector "m6850intr" # Not controlled by `snd' device pca0 at isa? port IO_TIMER1 tty pseudo-device loop pseudo-device ether pseudo-device log pseudo-device sl 1 pseudo-device ppp 2 pseudo-device tun 1 pseudo-device bpfilter 4 #Berkeley packet filter pseudo-device pty 32 pseudo-device gzip # Exec gzipped a.out's pseudo-device vn #Vnode driver (turns a file into a device) pseudo-device speaker #Play IBM BASIC-style noises out your speaker $ fdisk sd0 ******* Working on device /dev/rsd0 ******* parameters extracted from in-core disklabel are: cylinders=8386733 heads=1 sectors/track=1 (1 blks/cyl) Figures below won't work with BIOS for partitions not in cyl 1 parameters to be used for BIOS calculations are: cylinders=8386733 heads=1 sectors/track=1 (1 blks/cyl) Media sector size is 512 Warning: BIOS sector numbering starts with sector 1 Information from DOS bootblock is: The data for partition 0 is: sysid 165,(FreeBSD/NetBSD/386BSD) start 0, size 8386733 (4095 Meg), flag 80 beg: cyl 0/ sector 1/ head 0; end: cyl 1023/ sector 1/ head 0 The data for partition 1 is: The data for partition 2 is: The data for partition 3 is: $ disklabel sd0 # /dev/rsd0c: type: SCSI disk: sd0s1 label: flags: bytes/sector: 512 sectors/track: 1 tracks/cylinder: 1 sectors/cylinder: 1 cylinders: 8386733 sectors/unit: 8386733 rpm: 3600 interleave: 1 trackskew: 0 cylinderskew: 0 headswitch: 0 # milliseconds track-to-track seek: 0 # milliseconds drivedata: 0 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 65536 0 4.2BSD 0 0 0 # (Cyl. 0 - 65535) b: 284864 65536 swap # (Cyl. 65536 - 350399) c: 8386733 0 unused 0 0 # (Cyl. 0 - 8386732) e: 409600 350400 4.2BSD 0 0 0 # (Cyl. 350400 - 759999) f: 1536000 760000 4.2BSD 0 0 0 # (Cyl. 760000 - 2295999) g: 5529600 2296000 4.2BSD 0 0 0 # (Cyl. 2296000 - 7825599) h: 561133 7825600 4.2BSD 0 0 0 # (Cyl. 7825600 - 8386732) $ dumpfs /dev/rsd0e | head -18 magic 11954 time Sun Feb 9 17:37:37 1997 cylgrp dynamic inodes 4.4BSD nbfree 15009 ndir 2703 nifree 7789 nffree 989 ncg 7 ncyl 100 size 102400 blocks 100655 bsize 8192 shift 13 mask 0xffffe000 fsize 2048 shift 11 mask 0xfffff800 frag 4 shift 2 fsbtodb 2 cpg 16 bpg 4096 fpg 16384 ipg 3840 minfree 8% optim time maxcontig 7 maxbpg 2048 rotdelay 0ms headswitch 0us trackseek 0us rps 60 ntrak 1 nsect 4096 npsect 4096 spc 4096 symlinklen 60 trackskew 0 interleave 1 contigsumsize 7 nindir 2048 inopb 64 nspf 4 sblkno 8 cblkno 12 iblkno 16 dblkno 256 sbsize 2048 cgsize 4096 cgoffset 1024 cgmask 0xffffffff csaddr 256 cssize 2048 shift 9 mask 0xfffffe00 cgrotor 3 fmod 0 ronly 0 clean 0 (no rotational position table) $ fdisk sd1 ******* Working on device /dev/rsd1 ******* parameters extracted from in-core disklabel are: cylinders=4341 heads=64 sectors/track=32 (2048 blks/cyl) Figures below won't work with BIOS for partitions not in cyl 1 parameters to be used for BIOS calculations are: cylinders=4341 heads=64 sectors/track=32 (2048 blks/cyl) Media sector size is 512 Warning: BIOS sector numbering starts with sector 1 Information from DOS bootblock is: The data for partition 0 is: sysid 165,(FreeBSD/NetBSD/386BSD) start 0, size 8890368 (245 Meg), flag 80 beg: cyl 0/ sector 1/ head 0; end: cyl 244/ sector 32/ head 63 The data for partition 1 is: The data for partition 2 is: The data for partition 3 is: $ disklabel sd1 # /dev/rsd1c: type: SCSI disk: sd1 label: flags: bytes/sector: 512 sectors/track: 32 tracks/cylinder: 64 sectors/cylinder: 2048 cylinders: 4341 sectors/unit: 8890368 rpm: 7200 interleave: 1 trackskew: 0 cylinderskew: 0 headswitch: 0 # milliseconds track-to-track seek: 0 # milliseconds drivedata: 0 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 65536 0 4.2BSD 0 0 0 # (Cyl. 0 - 31) b: 286720 65536 swap # (Cyl. 32 - 171) c: 8890368 0 unused 0 0 # (Cyl. 0 - 4340) e: 450560 352256 4.2BSD 0 0 0 # (Cyl. 172 - 391) f: 1699840 802816 4.2BSD 0 0 0 # (Cyl. 392 - 1221) g: 5734400 2502656 4.2BSD 0 0 0 # (Cyl. 1222 - 4021) h: 653312 8237056 4.2BSD 0 0 0 # (Cyl. 4022 - 4340) $ dumpfs /dev/rsd1e | head -18 magic 11954 time Sun Feb 9 16:52:14 1997 cylgrp dynamic inodes 4.4BSD nbfree 23829 ndir 2703 nifree 46689 nffree 39 ncg 7 ncyl 110 size 225280 blocks 218431 bsize 8192 shift 13 mask 0xffffe000 fsize 1024 shift 10 mask 0xfffffc00 frag 8 shift 3 fsbtodb 1 cpg 16 bpg 4096 fpg 32768 ipg 7680 minfree 8% optim time maxcontig 7 maxbpg 2048 rotdelay 0ms headswitch 0us trackseek 0us rps 120 ntrak 1 nsect 4096 npsect 4096 spc 4096 symlinklen 60 trackskew 0 interleave 1 contigsumsize 7 nindir 2048 inopb 64 nspf 2 sblkno 16 cblkno 24 iblkno 32 dblkno 992 sbsize 2048 cgsize 6144 cgoffset 2048 cgmask 0xffffffff csaddr 992 cssize 1024 shift 9 mask 0xfffffe00 cgrotor 1 fmod 0 ronly 0 clean 0 (no rotational position table) -- Mark Valentine at Home