[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[dm-devel] dm-raid1 - error handling?



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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]