[dm-devel] Calling bio_endio() without completing submit_bio()

Kevin Corry kevcorry at us.ibm.com
Sat Mar 25 04:18:31 UTC 2006


On Sun March 19 2006 2:14 pm, Abhishek Gupta wrote:
> Does anyone know if it is possible to make a call to bio_endio() while we
> are still executing a submit_bio()? For example, a call to submit_bio() on 
> a virtual device backed by the device mapper would end up in a call to the
> dm_request() function, which would eventually end up in a call to
> ti->type->map() in __map_bio() function. Is it valid to call bio_endio()
> from the map() function for individual target types?

Yes, this can definitely happen. For a simple example, see 
dm-zero.c::zero_map(). Another common example would be anyplace that needs to 
call bio_io_error() in the I/O-submit path, which is just a macro around 
bio_endio().

Hope that helps. :)

-- 
Kevin Corry
kevcorry at us.ibm.com
http://www.ibm.com/linux/
http://evms.sourceforge.net/




More information about the dm-devel mailing list