geom_mirror panic with pair of firewire disc

Nicolai E M Plum nicolai-freebsd at esperi.org
Mon Jan 17 18:33:43 PST 2005


Hi

Using FreeBSD 5-STABLE as of about 2 days ago and these discs:

# dmesg | grep da[56]
da5 at sbp1 bus 0 target 1 lun 0
da5: <Oxford 911G 0137> Fixed Simplified Direct Access SCSI-4 device 
da5: 50.000MB/s transfers
da5: 57259MB (117266688 512 byte sectors: 255H 63S/T 7299C)
da6 at sbp1 bus 0 target 1 lun 1
da6: <Oxford 911G 0137> Fixed Simplified Direct Access SCSI-4 device 
da6: 50.000MB/s transfers
da6: 57259MB (117266688 512 byte sectors: 255H 63S/T 7299C)

with this partitioning:

# fdisk /dev/da5
******* Working on device /dev/da5 *******
parameters extracted from in-core disklabel are:
cylinders=7299 heads=255 sectors/track=63 (16065 blks/cyl)

Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=7299 heads=255 sectors/track=63 (16065 blks/cyl)

Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
    start 63, size 116728227 (56996 Meg), flag 80 (active)
        beg: cyl 0/ head 1/ sector 1;
        end: cyl 1023/ head 254/ sector 63
The data for partition 2 is:
<UNUSED>
The data for partition 3 is:
<UNUSED>
The data for partition 4 is:
<UNUSED>
# fdisk /dev/da6
******* Working on device /dev/da6 *******
parameters extracted from in-core disklabel are:
cylinders=7299 heads=255 sectors/track=63 (16065 blks/cyl)

Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=7299 heads=255 sectors/track=63 (16065 blks/cyl)

Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
    start 63, size 116728227 (56996 Meg), flag 80 (active)
        beg: cyl 0/ head 1/ sector 1;
        end: cyl 1023/ head 254/ sector 63
The data for partition 2 is:
<UNUSED>
The data for partition 3 is:
<UNUSED>
The data for partition 4 is:
<UNUSED>

and this command to create a mirrored pair:

# gmirror label m1 /dev/da5s1 /dev/da6s1

I immediately get this result:

(syslog)
----
Jan 16 23:19:13 nurn kernel: GEOM_MIRROR: Device m1 created (id=2113314100).
Jan 16 23:19:13 nurn kernel: GEOM_MIRROR: Device m1: provider da5s1 detected.
Jan 16 23:19:13 nurn kernel: GEOM_MIRROR: Cannot add disk da5s1c to m1 (error=17).
Jan 16 23:19:14 nurn kernel: GEOM_MIRROR: Device m1: provider da6s1 detected.
Jan 16 23:19:14 nurn kernel: GEOM_MIRROR: Device m1: provider da6s1 activated.
Jan 16 23:19:14 nurn kernel: GEOM_MIRROR: Device m1: provider da5s1 activated.
Jan 16 23:19:14 nurn kernel: GEOM_MIRROR: Device m1: provider mirror/m1 launched.
Jan 16 23:19:14 nurn kernel: WARNING: Expected rawoffset 0, found 63
----

and on the console:

Fatal double fault:
eip = 0xc07a4acd
esp = 0xd4226000
ebp = 0xd4226014
panic: double fault
Uptime: 2h45m29s


In fact, this happens now if I run "gmirror load", I get the same immediate
panic.

I don't think is supposed to happen. Has anyone seen it before?

My intent is to mirror these two slices which I have created to be slightly
smaller than the entire disc. This is so that if I have to replace a disc
with another type that is slightly smaller I don't have a problem.
(I know that I can just get a bigger disc than 60GB, but this is a test
setup; in production I want to use the largest discs that are economically
reasonable so I cannot rely on always replacing a failed disc with a larger
one). 

Nicolai



More information about the freebsd-geom mailing list