[dm-devel] dm-raid1 - error handling?
Ondrej Palkovsky
ondrap at penguin.cz
Tue Dec 4 16:53:06 UTC 2007
I have been browsing through source code of dm-raid1.c (kernel 2.6.23.1)
and this seems to me weird.
Function write_callback in dm-raid1.c - what is it supposed to do?
First, the if (error) block seems
like just one big NOP, second it looks like any error slips undetected.
Am I correct or is there some logic I am not aware of?
Ondrej
{
.. declarations etc...
if (error) {
/*
* only error the io if all mirrors failed.
* FIXME: bogus
*/
uptodate = 0;
for (i = 0; i < ms->nr_mirrors; i++)
if (!test_bit(i, &error)) {
uptodate = 1;
break;
}
}
bio_endio(bio, bio->bi_size, 0);
} - end of function
More information about the dm-devel
mailing list