tech-kern archive

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

Re: Strange problem with raidframe under NetBSD-5.1



On Tue, 12 Jun 2012 14:44:55 -0700
buhrow%lothlorien.nfbcal.org@localhost (Brian Buhrow) wrote:

>       Hello.  I've just encountered a strange problem with
> raidframe under NetBSD-5.1 that I can't immediately explain.
> 
>       this machine has been runing a raid set since 2007.  The raid
> set was originally constructed under NetBSD-3.  For the past year,
> it's been running 5.0_stable with sources from 
> July 2009 or so without a problem.    Last night, I installed
> NetBSD-5.1 with sources from May 23 2012 or so.  Now, the raid0 set
> fails the first component with an i/o error with no corresponding
> disk  errors underneath. Trying to reconstruct to the failed
> component also fails with an error of 22, invalid argument.  Looking
> at the dmesg output compared with the output of raidctl -s reveals
> the problem.  The size of the raid in the dmesg output is bogus, and,
> if the raid driver dries to write as many blocks as is reported by
> the configuration output, it will surely fail as it does. However,
> raidctl -g /dev/wd0a looks ok and the underlying disk label
> on /dev/wd0a looks ok as well. Where does the raid driver get the
> numbers it reports on bootup? Also, there is a second raid set on
> this machine, the second half of the same two drives, which was
> constructed at the same time.  It works fine with the new code.
> 
>       Below is the output of the boot sequence before the upgrade,
> and then the boot sequence after the upgrade.  Below that are the
> output of  raidctl -s raid0 and raidctl -g /dev/wd0a raid0.
>       It looks to me like something is not zero'd out in the
> component label that should be, but some change in the raid code is
> no longer ignoring the noise in the component label.

Correct.

> Any ideas?

There was some code added a while back to handle components whose sizes
were larger than 32-bit.  But 5.1_stable should have the code to handle
those 'bogus' values in the component label and do the appropriate
thing (see rf_fix_old_label_size in rf_netbsdkintf.c version
1.250.4.11, for example).

What is your code rev for src/sys/dev/raidframe/rf_netbsdkintf.c ?

Later...

Greg Oster


Home | Main Index | Thread Index | Old Index