[dm-devel] Question about end_clone_bio()

Dong Robin robin.k.dong at gmail.com
Fri Jul 27 05:25:44 UTC 2012


Hi

There are codes in end_clone_bio():

static void end_clone_bio(struct bio *clone, int error)
{
....
        /*
         * bios are processed from the head of the list.
         * So the completing bio should always be rq->bio.
         * If it's not, something wrong is happening.
         */
        if (tio->orig->bio != bio)
                DMERR("bio completion is going in the middle of the request");
....

My question is: why the completing bio should always be rq->bio? If
the driver of a block device dispatchs all the bios belong to a
request,
how should it make sure the first completing bio is the first bio in
bio list of request ?



-- 
--
Best Regard
Robin Dong




More information about the dm-devel mailing list