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:
Vladimir Sementsov-Ogievskiy 2019-02-18 17:09:26 +03:00 committed by Stefan Hajnoczi
parent 5bbe9325a0
commit 9942586b3f
2 changed files with 2 additions and 4 deletions

View File

@ -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,

View File

@ -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;
}; };