On 06/05/2016 18:26, Eric Blake wrote:
> @@ -340,11 +338,12 @@ static void scsi_do_read(SCSIDiskReq *r, int ret)
>          r->req.aiocb = dma_blk_read(s->qdev.conf.blk, r->req.sg, r->sector,
>                                      scsi_dma_complete, r);

This is broken, it should be changed to an offset in the previous patch.

Please rename the function too, so that it is obvious that you have
changed all callers.

How was this patch tested?

Paolo

>      } else {
> -        n = scsi_init_iovec(r, SCSI_DMA_BUF_SIZE);
> +        scsi_init_iovec(r, SCSI_DMA_BUF_SIZE);
>          block_acct_start(blk_get_stats(s->qdev.conf.blk), &r->acct,
> -                         n * BDRV_SECTOR_SIZE, BLOCK_ACCT_READ);
> -        r->req.aiocb = blk_aio_readv(s->qdev.conf.blk, r->sector, &r->qiov, 
> n,
> -                                     scsi_read_complete, r);
> +                         SCSI_DMA_BUF_SIZE, BLOCK_ACCT_READ);
> +        r->req.aiocb = blk_aio_preadv(s->qdev.conf.blk,
> +                                      r->sector << BDRV_SECTOR_BITS, 
> &r->qiov,
> +                                      0, scsi_read_complete, r);
>      }

Reply via email to