Dave Diller writes:
> 
> Here's what's been changed in the kernel.... not a lot. I don't understand why
> it would panic on a simple reconstruct command.

I might be able to understand, but my crystal ball is at the 
cleaners, and I can't guess what your panic message looked like, nor 
what the traceback was. 

> Here's the current status of the RAID:
[snip]
> I can't fix the parity either now, it fails on both a -i and a -P attempt.

Right.  The RAID set only has one good component.  There's nothing to 
rebuild parity onto with just one good component.

> wd2a's component label looks fine:
[snip]
> wd1a's does not... pretty much every bit of data that could be changed, has
> been somehow.  I suspect this is part of the root reason that raid0 can't dea
> l
> with it, but I can't seem to get it to reinitialize correctly either.
> 
> bash-3.00# raidctl -g /dev/wd1a raid0
> Component label for /dev/wd1a:
>    Row: 16, Column: 24, Num Rows: 1312, Num Columns: 16
>    Version: 0, Serial Number: 0, Mod Counter: 8
>    Clean: Yes, Status: 1133920558
>    sectPerSU: 9775536, SUsPerPU: 9620351, SUsPerRU: 119
>    Queue size: 2048, blocksize: 8, numBlocks: 5
>    RAID Level:
>    Autoconfig: Yes
>    Root partition: Yes
>    Last configured as: raid256

Hmmmmmmm... I don't understand this... the label should be the same 
as the other, sans the Column and Mod Counter fields. (and possibly 
Clean and Status).

[snip]

> RAIDFRAME: protectedSectors is 64.
> Hosed component: /dev/wd1a.
> Hosed component: /dev/wd1a.
> raid0: Component /dev/wd2a being configured at row: 0 col: 0
>          Row: 0 Column: 0 Num Rows: 1 Num Columns: 2
>          Version: 2 Serial Number: 100 Mod Counter: 183
>          Clean: No Status: 0
> /dev/wd2a is not clean !
> raid0: Ignoring /dev/wd1a.
> RAIDFRAME(RAID Level 1): Using 6 floating recon bufs with no head sep limit.
> raid0 (root)raid0: Error re-writing parity!
> 
> 
> I agree it's 'hosed', just looking at the component label!  Nice message. :)
> 
> If I umount the partition and try to -u(nconfigure) raid0, it kernel panics.

That shouldn't happen either.

> If I -R(econstruct), it kernel panics.    I've messed it up but good.  
> How do I
> reinitialize wd1a and/or raid0 and/or start over completely?

You'll have to boot without /etc/raid0.conf.  You can then re-do 
the config with "-C" and then "-I" again, but that won't help you
when a disk fails and you get the panic messages on trying to 
reconstruct.  ("raidctl -R" should *not* panic... (in the version
of RAIDframe you're running, it will it encounters a read error
or a write error while doing the reconstruct, but that's probably a 
different problem)).

Oh... and from the "obivous bugs" department:  In rf_openbsdkintf.c
 
 case RAIDFRAME_GET_COMPONENT_LABEL:

there is a:

 RF_Free( clabel, sizeof(RF_ComponentLabel_t));

missing before the:

 return(EINVAL);

But that won't help with the problem your describing... (just noticed 
the above as I was perusing the code..)

Later...

Greg Oster

Reply via email to