在 2016年06月03日 13:17, Mark Cave-Ayland 写道:
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 <mark.cave-ayl...@ilande.co.uk>
---
  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 ace65e0..ab7cf9c 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);
      }
This patch fix the qemu-system-arm booting issue.

Tested-by: xiaoqiang zhao <zxq_yx_...@163.com>


Reply via email to