Skip to content

Commit

Permalink
hw/ide: drop iov field from IDEState
Browse files Browse the repository at this point in the history
@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-16-vsementsov@virtuozzo.com
Message-Id: <20190218140926.333779-16-vsementsov@virtuozzo.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
  • Loading branch information
Vladimir Sementsov-Ogievskiy authored and stefanhaRH committed Feb 22, 2019
1 parent 405d8fe commit e5863d4
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 12 deletions.
9 changes: 4 additions & 5 deletions hw/ide/atapi.c
Expand Up @@ -174,16 +174,15 @@ static void cd_read_sector_cb(void *opaque, int ret)

static int cd_read_sector(IDEState *s)
{
void *buf;

if (s->cd_sector_size != 2048 && s->cd_sector_size != 2352) {
block_acct_invalid(blk_get_stats(s->blk), BLOCK_ACCT_READ);
return -EINVAL;
}

s->iov.iov_base = (s->cd_sector_size == 2352) ?
s->io_buffer + 16 : s->io_buffer;

s->iov.iov_len = ATAPI_SECTOR_SIZE;
qemu_iovec_init_external(&s->qiov, &s->iov, 1);
buf = (s->cd_sector_size == 2352) ? s->io_buffer + 16 : s->io_buffer;
qemu_iovec_init_buf(&s->qiov, buf, ATAPI_SECTOR_SIZE);

trace_cd_read_sector(s->lba);

Expand Down
8 changes: 2 additions & 6 deletions hw/ide/core.c
Expand Up @@ -774,9 +774,7 @@ static void ide_sector_read(IDEState *s)
return;
}

s->iov.iov_base = s->io_buffer;
s->iov.iov_len = n * BDRV_SECTOR_SIZE;
qemu_iovec_init_external(&s->qiov, &s->iov, 1);
qemu_iovec_init_buf(&s->qiov, s->io_buffer, n * BDRV_SECTOR_SIZE);

block_acct_start(blk_get_stats(s->blk), &s->acct,
n * BDRV_SECTOR_SIZE, BLOCK_ACCT_READ);
Expand Down Expand Up @@ -1045,9 +1043,7 @@ static void ide_sector_write(IDEState *s)
return;
}

s->iov.iov_base = s->io_buffer;
s->iov.iov_len = n * BDRV_SECTOR_SIZE;
qemu_iovec_init_external(&s->qiov, &s->iov, 1);
qemu_iovec_init_buf(&s->qiov, s->io_buffer, n * BDRV_SECTOR_SIZE);

block_acct_start(blk_get_stats(s->blk), &s->acct,
n * BDRV_SECTOR_SIZE, BLOCK_ACCT_WRITE);
Expand Down
1 change: 0 additions & 1 deletion include/hw/ide/internal.h
Expand Up @@ -405,7 +405,6 @@ struct IDEState {
int atapi_dma; /* true if dma is requested for the packet cmd */
BlockAcctCookie acct;
BlockAIOCB *pio_aiocb;
struct iovec iov;
QEMUIOVector qiov;
QLIST_HEAD(, IDEBufferedRequest) buffered_requests;
/* ATA DMA state */
Expand Down

0 comments on commit e5863d4

Please sign in to comment.