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>
