]> nv-tegra.nvidia Code Review - linux-2.6.git/blobdiff - drivers/block/sunvdc.c
virtio_blk: ioctl return value fix
[linux-2.6.git] / drivers / block / sunvdc.c
index f59887c5ffbdbb873785b6421c621a741f62ca46..cbfd9c0aef034ffd2778aaac37eec3fd4d33a61e 100644 (file)
@@ -416,7 +416,7 @@ static int __send_request(struct request *req)
                desc->slice = 0;
        }
        desc->status = ~0;
-       desc->offset = (req->sector << 9) / port->vdisk_block_size;
+       desc->offset = (blk_rq_pos(req) << 9) / port->vdisk_block_size;
        desc->size = len;
        desc->ncookies = err;
 
@@ -441,12 +441,11 @@ out:
 static void do_vdc_request(struct request_queue *q)
 {
        while (1) {
-               struct request *req = elv_next_request(q);
+               struct request *req = blk_fetch_request(q);
 
                if (!req)
                        break;
 
-               blkdev_dequeue_request(req);
                if (__send_request(req) < 0)
                        __blk_end_request_all(req, -EIO);
        }