mg_disk has at most single request in flight per device. Till now,whenever it needs to access the in-flight request it calledelv_next_request(). This patch makes mg_disk track the in-flightrequest directly using mg_host->req and dequeue it when processingstarts.

q->queuedata is set to mg_host so that mg_host can be determinedwithout fetching request from the queue.