[dm-devel] clone_endio question (kernel 2.5/2.6)

Christophe Saout christophe at saout.de
Thu Jul 24 18:50:01 UTC 2003


Am Fr, 2003-07-25 um 01.40 schrieb Christophe Saout:

> Is it possible that someone calls bio_endio with done < bi_size and an
> error set? If it is so, the error is ignored by clone_endio.
> 
> "if (bio->bi_size) return 1;" gets executed before the error parameter
> gets checked.
> 
> When clone_endio is executed, say, two times and the first time it get's
> called with an error and the second time without, device-mapper calls
> bio_endio on the original bio without noticing the error.

I just checked: The raid1 code checks the BIO_UPTODATE flag in the bio
and returns an error if it got cleared. It can get cleared by bio_endio
when an error is passed.

--
Christophe Saout <christophe at saout.de>
Please avoid sending me Word or PowerPoint attachments.
See http://www.fsf.org/philosophy/no-word-attachments.html





More information about the dm-devel mailing list