block: implement and enforce request peek/start/fetch
[safe/jmp/linux-2.6] / arch / um / drivers / ubd_kern.c
index 402ba8f..aa9e926 100644 (file)
@@ -1228,12 +1228,11 @@ static void do_ubd_request(struct request_queue *q)
        while(1){
                struct ubd *dev = q->queuedata;
                if(dev->end_sg == 0){
-                       struct request *req = elv_next_request(q);
+                       struct request *req = blk_fetch_request(q);
                        if(req == NULL)
                                return;
 
                        dev->request = req;
-                       blkdev_dequeue_request(req);
                        dev->start_sg = 0;
                        dev->end_sg = blk_rq_map_sg(q, req, dev->sg);
                }