Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Bug in cac/ld drivers (was: `cannot mount root, error = 79' since upgrade)



On Sat, Mar 21, 2009 at 05:01:08PM +0100, Tom Ivar Helbekkmo wrote:

> I wrote:
> 
> > Turns out it was data corruption.  How it happened, I don't know, [...]
> 
> I do now.  Sometime over the last year, something in the cac and/or ld
> drivers must have broken.  Turns out, /dev/*ld0? and /dev/*ld1? are the
> exact same devices.  That is, they are different sets of device nodes,
> but they access the same (first) actual disk device from the RAID
> controller.
> 
> I have two such devices:
> 
> cac0 at pci0 dev 1 function 0: Compaq Integrated Array
> cac0: interrupting at ioapic0 pin 19
> cac0: 2 channels, firmware <1.50>
> ld0 at cac0 unit 0: standalone disk or RAID0 array
> ld0: 34707 MB, 8814 cyl, 128 head, 63 sec, 512 bytes/sect x 71081760 sectors
> ld1 at cac0 unit 1: standalone disk or RAID0 array
> ld1: 34707 MB, 8814 cyl, 128 head, 63 sec, 512 bytes/sect x 71081760 sectors
> 
> This is wrong - ld1 is actually much larger than ld0.  The RAID
> controller itself is not confused: its BIOS configuration software shows
> everything correctly.  Trying to access /dev/*ld2? doesn't work; "device
> not configured" -- so it knows how many devices it has.

Yes, someone broke it. Here is a patch to fix it.

        http://www.netbsd.org/~ad/ld_cac.diff

The fix should make it into 5.0 final.


Home | Main Index | Thread Index | Old Index