hw/ide: drop iov field from IDEDMA
@iov is used only to initialize @qiov. Let's use new qemu_iovec_init_buf() instead, which simplifies the code. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 20190218140926.333779-18-vsementsov@virtuozzo.com Message-Id: <20190218140926.333779-18-vsementsov@virtuozzo.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
5bbe9325a0
commit
9942586b3f
@ -420,9 +420,8 @@ static void ide_atapi_cmd_read_dma_cb(void *opaque, int ret)
|
|||||||
data_offset = 0;
|
data_offset = 0;
|
||||||
}
|
}
|
||||||
trace_ide_atapi_cmd_read_dma_cb_aio(s, s->lba, n);
|
trace_ide_atapi_cmd_read_dma_cb_aio(s, s->lba, n);
|
||||||
s->bus->dma->iov.iov_base = (void *)(s->io_buffer + data_offset);
|
qemu_iovec_init_buf(&s->bus->dma->qiov, s->io_buffer + data_offset,
|
||||||
s->bus->dma->iov.iov_len = n * ATAPI_SECTOR_SIZE;
|
n * ATAPI_SECTOR_SIZE);
|
||||||
qemu_iovec_init_external(&s->bus->dma->qiov, &s->bus->dma->iov, 1);
|
|
||||||
|
|
||||||
s->bus->dma->aiocb = ide_buffered_readv(s, (int64_t)s->lba << 2,
|
s->bus->dma->aiocb = ide_buffered_readv(s, (int64_t)s->lba << 2,
|
||||||
&s->bus->dma->qiov, n * 4,
|
&s->bus->dma->qiov, n * 4,
|
||||||
|
@ -455,7 +455,6 @@ struct IDEDMAOps {
|
|||||||
|
|
||||||
struct IDEDMA {
|
struct IDEDMA {
|
||||||
const struct IDEDMAOps *ops;
|
const struct IDEDMAOps *ops;
|
||||||
struct iovec iov;
|
|
||||||
QEMUIOVector qiov;
|
QEMUIOVector qiov;
|
||||||
BlockAIOCB *aiocb;
|
BlockAIOCB *aiocb;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user