Skip site navigation (1)Skip section navigation (2)
Date:      18 Jul 1998 22:44:28 +0200
From:      dag-erli@ifi.uio.no (Dag-Erling Coidan =?iso-8859-1?Q?Sm=F8rgrav?= )
To:        hackers@FreeBSD.ORG
Subject:   Dump device with DEVFS?
Message-ID:  <xzp90lq28k3.fsf@hrotti.ifi.uio.no>

next in thread | raw e-mail | index | archive | help
It seems to be impossible to enable a dump device with DEVFS. The
following code in setdumpdev() in sys/i386/i386/autoconf.c is the
culprit:

        if (dkpart(dev) != SWAP_PART)
                return (ENODEV);

dkpart(dev) is #defined to (minor(dev) & 7) in disklabel.h, and
SWAP_PART is #defined to 1 in the same file.

Now MAKEDEV will assign minor numbers with the lower nybble 0x1 to
swap partitions ([fosw]d?b or something like that) so it will work
fine, but Helen's swap partition (/dev/wd0s1b) has minor number 11
(lower nybble 0x3), and Niobe's swap partition (/dev/sd0b) has minor
number 20 (lower nybble 0x4), neither of which is acceptable to
setdumpdev(). The only partition I have which is eligible as a dump
device (due to its minor number being 25) is /dev/sd0h, aka. /usr/src.

Am I missing something here? Is this a bug or a feature? How do I set
a dump device on a DEVFS system? And anyway, shouldn't setdumpdev()
just trust the user to know what he's doing even if the selected
partition doesn't seem to be a swap partition?

BTW, I just had a panic trying to umount an msdosfs floppy - probably
thanks to soft updates, all my file systems except /var came up clean
although I was cvsupping at the time of the panic.

For completeness' sake, here is my dmesg, kernel config and a listing
of /dev/sd*:

Copyright (c) 1992-1998 FreeBSD Inc.
Copyright (c) 1982, 1986, 1989, 1991, 1993
	The Regents of the University of California. All rights reserved.
FreeBSD 3.0-CURRENT #9: Fri Jul 17 18:26:15 CEST 1998
    finrod@niobe.ewox.org:/usr/src/sys/compile/niobe
Timecounter "i8254"  frequency 1193182 Hz  cost 2278 ns
Timecounter "TSC"  frequency 166193751 Hz  cost 137 ns
CPU: Pentium/P54C (166.19-MHz 586-class CPU)
  Origin = "GenuineIntel"  Id = 0x52c  Stepping=12
  Features=0x1bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8>
real memory  = 134217728 (131072K bytes)

FreeBSD Kernel Configuration Utility - Version 1.1
 Type "help" for help or "visual" to go to the visual
 configuration interface (requires MGA/VGA display or
 serial terminal capable of displaying ANSI graphics).
config> quit
avail memory = 127885312 (124888K bytes)
DEVFS: ready for devices
Probing for devices on PCI bus 0:
chip0: <Intel 82439> rev 0x03 on pci0.0.0
chip1: <Intel 82371SB PCI to ISA bridge> rev 0x01 on pci0.7.0
de0: <Digital 21140A Fast Ethernet> rev 0x22 int a irq 15 on pci0.9.0
de0: ACCTON EN1207 21140A [10-100Mb/s] pass 2.2
de0: address 00:00:e8:4a:83:63
de0: enabling 100baseTX port
vga0: <Tseng Labs ET6000 graphics accelerator> rev 0x70 int a irq 9 on pci0.10.0
ahc0: <Adaptec 2940 Ultra SCSI host adapter> rev 0x00 int a irq 12 on pci0.11.0
ahc0: aic7880 Wide Channel, SCSI Id=7, 16 SCBs
scbus0 at ahc0 bus 0
sd0 at scbus0 target 2 lun 0
sd0: <QUANTUM XP34550W LXY1> type 0 fixed SCSI 2
sd0: Direct-Access 4341MB (8890760 512 byte sectors)
sd0: with 5899 cyls, 10 heads, and an average 150 sectors/track
ahc0:A:4: refuses WIDE negotiation.  Using 8bit transfers
sd1 at scbus0 target 4 lun 0
sd1: <QUANTUM FIREBALL ST6.4S 0F0C> type 0 fixed SCSI 2
sd1: Direct-Access 6180MB (12657717 512 byte sectors)
sd1: with 7068 cyls, 8 heads, and an average 223 sectors/track
ahc1: <Adaptec 2940 SCSI host adapter> rev 0x00 int a irq 11 on pci0.12.0
ahc1: aic7870 Single Channel, SCSI Id=7, 16 SCBs
scbus1 at ahc1 bus 0
st0 at scbus1 target 3 lun 0
st0: <TECMAR TRAVAN NS8 P611> type 1 removable SCSI 2
st0: Sequential-Access density code 0x0,  drive empty
sd2 at scbus1 target 4 lun 0
sd2: <CONNER CFP1080S 4649> type 0 fixed SCSI 2
sd2: Direct-Access 1030MB (2110812 512 byte sectors)
sd2: with 3658 cyls, 6 heads, and an average 96 sectors/track
cd0 at scbus1 target 5 lun 0
cd0: <TOSHIBA CD-ROM XM-3801TA 1047> type 5 removable SCSI 2
cd0: CD-ROM cd present [258777 x 2048 byte records]
od0 at scbus1 target 6 lun 0
od0: <OLYMPUS MOS330 1.30> type 7 removable SCSI 2
od0: Optical 217MB (446325 512 byte sectors)
od0: with approximate 217 cyls, 64 heads, and 32 sectors/track
Probing for PnP devices:
Probing for devices on the ISA bus:
sc0 at 0x60-0x6f irq 1 on motherboard
sc0: VGA color <12 virtual consoles, flags=0x0>
psm0 not found at 0x60
sio0 at 0x3f8-0x3ff irq 4 flags 0x10 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
pcm0 not found
fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
fdc0: FIFO enabled, 8 bytes threshold
fd0: 1.44MB 3.5in
1 3C5x9 board(s) on ISA found at 0x300
ep0 at 0x300-0x30f irq 10 on isa
ep0: aui/bnc[*BNC*] address 00:60:8c:61:df:38
npx0 on motherboard
npx0: INT 16 interface
Intel Pentium F00F detected, installing workaround
DEVFS: ready to run
IP packet filtering initialized, divert disabled, rule-based forwarding disabled, logging limited to 256 packets/entry
sd0: probing for MBR.. rejected.. Slice includes MBR sd0: probing for disklabel..  part a, start=0, size=131072
 part b, start=131072, size=1048576
 part d, start=3932160, size=4958600
 part e, start=1179648, size=131072
 part f, start=1310720, size=524288
 part g, start=1835008, size=1048576
 part h, start=2883584, size=1048576
sd1: probing for MBR.. rejected.. Slice includes MBR sd1: probing for disklabel..  part e, start=0, size=524288
 part f, start=524288, size=1572864
 part g, start=2097152, size=10560565
sd2: probing for MBR..  part 1, start=63, size=2104452
sd2s1: attaching disklabel..
 part e, start=0, size=524288
 part f, start=524288, size=1580164
fd0: probing for MBR.. WOULD SELECT /sd0a And it exists
WARNING: / was not properly dismounted.
fd0: Operation timeout
fd0: hard error, block 0  (No status)
ffs_mountfs: superblock updated
ffs_mountfs: superblock updated
ffs_mountfs: superblock updated
ffs_mountfs: superblock updated
ffs_mountfs: superblock updated
ffs_mountfs: superblock updated
ffs_mountfs: superblock updated
ffs_mountfs: superblock updated

#
# Kernel configuration for niobe.ewox.org
#
machine		"i386"
cpu		"I586_CPU"
ident		niobe
maxusers	64
#
# Networking
options		INET
options		IPFIREWALL
options		IPFIREWALL_VERBOSE
options		"IPFIREWALL_VERBOSE_LIMIT=256"
options		"NMBCLUSTERS=4096"
#
# File system
options		DEVFS
options		FFS
options		FFS_ROOT		# Boot from FFS
options		NFS
options		PROCFS
options		SLICE			# Use devfs for devices
options		SOFTUPDATES
#
# XFree86 support
options		SYSVMSG
options		SYSVSEM
options		SYSVSHM
options		UCONSOLE
#
# Misc. kernel options
options		"AUTO_EOI_1"
options		"AUTO_EOI_2"
options		"COMPAT_43"
options		"MD5"
options		BOUNCE_BUFFERS
options		INCLUDE_CONFIG_FILE
options		USERCONFIG
options		USERCONFIG_BOOT
options		USER_LDT
options		VISUAL_USERCONFIG
#
config		kernel	root on sd0
#
# Buses
controller	isa0
controller	pci0
controller	pnp0
#
# Numeric processor extensions
device		npx0	at isa? port "IO_NPX" irq 13 vector npxintr
#
# Floppy controller
controller	fdc0	at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
disk		fd0	at fdc0 drive 0
#
# SCSI controllers
controller	ahc0
controller	scbus0
device		sd0
device		od0
device		st0
device		cd0
pseudo-device	su
pseudo-device	ssc
options		"SCSI_DELAY=1"
options		SCSI_REPORT_GEOMETRY
#
# System console and mouse
device		sc0	at isa? port "IO_KBD" tty irq 1 vector scintr
options		"MAXCONS=12"
options		"SC_HISTORY_SIZE=4096"
options		"MSGBUF_SIZE=32768"
device		psm0	at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr
#
# I/O ports
device		sio0	at isa? port "IO_COM1" flags 0x10 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
#
# Network adapters
device de0
device ep0 at isa? port 0x300 net irq 10 vector epintr
#
# Networking pseudo-devices
pseudo-device	loop
pseudo-device	ether
pseudo-device	tun	4
pseudo-device	bpfilter 4
#
# Other pseudo-devices
pseudo-device	gzip
pseudo-device	pty	64
pseudo-device	vn	4
#
# Sound hardware (Luigi Rizzo)
device		pcm0 at isa? port? tty irq 5 drq 1 flags 0x15 vector pcmintr
#

root@niobe # ll /dev/sd*
brw-------  1 root  operator   14,   8 Jul 18 21:56 /dev/sd0
brw-------  1 root  operator   14,  19 Jul 18 21:56 /dev/sd0a
brw-------  1 root  operator   14,  20 Jul 18 21:56 /dev/sd0b
brw-------  1 root  operator   14,  21 Jul 18 21:56 /dev/sd0d
brw-------  1 root  operator   14,  22 Jul 18 21:56 /dev/sd0e
brw-------  1 root  operator   14,  23 Jul 18 21:56 /dev/sd0f
brw-------  1 root  operator   14,  24 Jul 18 21:56 /dev/sd0g
brw-------  1 root  operator   14,  25 Jul 18 21:56 /dev/sd0h
brw-------  1 root  operator   14,   9 Jul 18 21:56 /dev/sd1
brw-------  1 root  operator   14,  26 Jul 18 21:56 /dev/sd1e
brw-------  1 root  operator   14,  27 Jul 18 21:56 /dev/sd1f
brw-------  1 root  operator   14,  28 Jul 18 21:56 /dev/sd1g
brw-------  1 root  operator   14,  10 Jul 18 21:56 /dev/sd2
brw-------  1 root  operator   14,  29 Jul 18 21:56 /dev/sd2s1
brw-------  1 root  operator   14,  30 Jul 18 21:56 /dev/sd2s1e
brw-------  1 root  operator   14,  31 Jul 18 21:56 /dev/sd2s1f

DES
-- 
One two, one two, one two.

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



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