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