From 890e48d7fc7d2ba490610b7ccaa3f479b5f3c1b1 Mon Sep 17 00:00:00 2001 From: Mark Cave-Ayland Date: Fri, 3 Jun 2016 06:17:01 +0100 Subject: [PATCH] scsi-disk: fix reads from scsi-disk devices Commit fcaafb1001b9c42817714dd3b2aadcfdb997b53d accidentally broke reads from scsi-disk devices when being updated from its original form to use the new byte-based block functions. Add the extra missing sector to offset conversion in order to restore read functionality. Signed-off-by: Mark Cave-Ayland Reviewed-by: Eric Blake Tested-by: xiaoqiang zhao Message-id: 1464931021-25117-1-git-send-email-mark.cave-ayland@ilande.co.uk Signed-off-by: Peter Maydell --- hw/scsi/scsi-disk.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c index ace65e0720d5..ab7cf9cbf84e 100644 --- a/hw/scsi/scsi-disk.c +++ b/hw/scsi/scsi-disk.c @@ -347,7 +347,7 @@ static void scsi_do_read(SCSIDiskReq *r, int ret) scsi_init_iovec(r, SCSI_DMA_BUF_SIZE); block_acct_start(blk_get_stats(s->qdev.conf.blk), &r->acct, r->qiov.size, BLOCK_ACCT_READ); - r->req.aiocb = sdc->dma_readv(r->sector, &r->qiov, + r->req.aiocb = sdc->dma_readv(r->sector << BDRV_SECTOR_BITS, &r->qiov, scsi_read_complete, r, r); }