diff options
-rw-r--r-- | hw/virtio-blk.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/hw/virtio-blk.c b/hw/virtio-blk.c index 5d7f1a2200..80d51c4c0c 100644 --- a/hw/virtio-blk.c +++ b/hw/virtio-blk.c @@ -277,7 +277,7 @@ static void virtio_blk_handle_write(BlockRequest *blkreq, int *num_writes, } blkreq[*num_writes].sector = req->out->sector; - blkreq[*num_writes].nb_sectors = req->qiov.size / 512; + blkreq[*num_writes].nb_sectors = req->qiov.size / BDRV_SECTOR_SIZE; blkreq[*num_writes].qiov = &req->qiov; blkreq[*num_writes].cb = virtio_blk_rw_complete; blkreq[*num_writes].opaque = req; @@ -296,7 +296,8 @@ static void virtio_blk_handle_read(VirtIOBlockReq *req) } acb = bdrv_aio_readv(req->dev->bs, req->out->sector, &req->qiov, - req->qiov.size / 512, virtio_blk_rw_complete, req); + req->qiov.size / BDRV_SECTOR_SIZE, + virtio_blk_rw_complete, req); if (!acb) { virtio_blk_rw_complete(req, -EIO); } @@ -505,7 +506,7 @@ VirtIODevice *virtio_blk_init(DeviceState *dev, BlockConf *conf) s->bs = conf->dinfo->bdrv; s->conf = conf; s->rq = NULL; - s->sector_mask = (s->conf->logical_block_size / 512) - 1; + s->sector_mask = (s->conf->logical_block_size / BDRV_SECTOR_SIZE) - 1; bdrv_guess_geometry(s->bs, &cylinders, &heads, &secs); s->vq = virtio_add_queue(&s->vdev, 128, virtio_blk_handle_output); |