Just a follow up:
> no luck. I finally ran a ksymoops and it seems raid0_map is the culprit.
in raid0.c, function raid0_map:
block = *rsector >> 1;
hash = conf->hash_table + block / conf->smallest->size;
Looks like a simple hash function to translate which zone a block falls into?
Only problem is that block its looking for is way off the end of my raid array!
May 17 12:33:12 bluenfs kernel: raid0 : md_size is 52187040 blocks.
..
May 17 12:22:17 bluenfs kernel: raid0_map: past end of hash array for block 1949266787
(819/22)
A little warning line I added shows why the kernel has been falling over. I see
rsector is unsigned long *, whereas block is signed long. Can anyone else think
of why this might be happening?
Regards,
Shaun