raid5 oopses on me in 2.1.131

Pavel Machek (pavel@bug.ucw.cz)
Fri, 4 Dec 1998 19:11:58 +0100


Hi!

raid5 oopses at me at time of mdrun. Oops is in do_md_run:

16e: 00
16f: 8b 4c 24 18 movl 0x18(%esp,1),%ecx
173: 51 pushl %ecx
174: 55 pushl %ebp
175: e8 0a fa ff ff call c0186b68 <analyze_sbs>
--> HERE 17a: 83 c4 08 addl $0x8,%esp
17d: 85 c0 testl %eax,%eax
17f: 0f 85 ab fe ff jne c0187014 <do_md_run+30>
184: ff

I probably should add that I noticed errors while trying to run raid5
over nbd. While doing that, I noticed few more "features":

(this is ckraid.c)

void * reader_thread (void * data)
{
int i = (int) data;

while (1) {
pthread_mutex_lock(&start_work[i]);
read(fd[i], buffer[i][0], IO_BUFFERSIZE);
pthread_mutex_unlock(&stop_work[i]);
}
}

Looks to me like you don't check error code from read, which is bad
idea in itself. It is even worse idea with nbd, as nbd returns -EIO on
end of device. Is it for ckraid to read only area it needs to?

Pavel

PS: I'm sorry for not posting patch for ckraid, but I kind of do not
dare to touch threaded code I do not understand.

-- 
I'm really pavel@atrey.karlin.mff.cuni.cz. 	   Pavel
Look at http://atrey.karlin.mff.cuni.cz/~pavel/ ;-).

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/