Subject: Re: anyone know if there's a fix for this "malloc with held simple_lock" in RAIDframe bug yet?
To: Greg Oster <oster@cs.usask.ca>
From: Greg A. Woods <woods@weird.com>
List: tech-kern
Date: 03/15/2005 14:16:09
[ On Monday, March 14, 2005 at 09:37:39 (-0600), Greg Oster wrote: ]
> Subject: Re: anyone know if there's a fix for this "malloc with held simple_lock" in RAIDframe bug yet?
>
> The change in rev 1.55 may fix this problem, but IIRC there were
> quite a few more changes that had to be made before all (?) of the
> locking issues were sorted out. (You'll need at least 1.64 and 1.65
> for this file, and probably a whole mess of other changes for other
> files in RAIDframeland)
>
> If you're looking for "the best RAIDframe", might I recommend you
> use 2.0? :) (The code in 2.0 is MUCH better than what shipped in
> 1.6.x)
I'm not in any way prepared to upgrade to 2.0 yet, but using the
RAIDframe code from 2.0 or -current does seem to be a most excellent
idea.
I've done a very quick (enough to get it to compile cleanly) backport of
yesterday's -current RAIDframe code and it gets me a heck of a lot
further along:
[console]<@> # raidctl -v -C root/root-raid0.conf raid0
raidlookup on device: /dev/sd9e failed!
raid0: Component /dev/sd1e being configured at col: 0
Column: 0 Num Columns: 0
Version: 0 Serial Number: 0 Mod Counter: 0
Clean: No Status: 0
Number of columns do not match for: /dev/sd1e
/dev/sd1e is not clean!
raid0: Component /dev/sd9e being configured at col: 1
Column: 0 Num Columns: 0
Version: 0 Serial Number: 0 Mod Counter: 0
Clean: No Status: 0
Column out of alignment for: /dev/sd9e
Number of columns do not match for: /dev/sd9e
/dev/sd9e is not clean!
raid0: There were fatal errors
raid0: Fatal errors being ignored.
raid0: RAID Level 1
raid0: Components: /dev/sd1e /dev/sd9e[**FAILED**]
raid0: Total Sectors: 71129600 (34731 MB)
[console]<@> # raidctl -v -I 1412893 raid0
raid0: no disk label
[console]<@> # raidctl -v -i raid0
raid0: no disk label
Initiating re-wrraid0: Error re-writing parity!
ite of parity
Parity Re-write status:
[console]<@> # raidctl -v -s raid0
raid0: no disk label
Components:
/dev/sd1e: optimal
/dev/sd9e: failed
No spares.
Component label for /dev/sd1e:
Row: 0, Column: 0, Num Rows: 1, Num Columns: 2
Version: 2, Serial Number: 1412893, Mod Counter: 7
Clean: No, Status: 0
sectPerSU: 128, SUsPerPU: 1, SUsPerRU: 1
Queue size: 100, blocksize: 512, numBlocks: 71129600
RAID Level: 1
Autoconfig: No
Root partition: No
Last configured as: raid0
/dev/sd9e status is: failed. Skipping label.
Parity status: DIRTY
Parity status: DIRTY
Reconstruction is 100% complete.
Parity Re-write is 100% complete.
Copyback is 100% complete.
[console]<@> #
In fact that's probably exactly where it should be (since /dev/sd9e does
not exist as I'm in the first steps of setting up the root mirror :-)
Once I get to the poing of booting from the mirrored root then I'll send
you my diffs (and if I don't get that far I'll be asking for help! :-)
--
Greg A. Woods
H:+1 416 218-0098 W:+1 416 489-5852 x122 VE3TCP RoboHack <woods@robohack.ca>
Planix, Inc. <woods@planix.com> Secrets of the Weird <woods@weird.com>