block/qcow2: use qemu_iovec_init_buf

Use new qemu_iovec_init_buf() instead of
qemu_iovec_init_external( ... , 1), 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-10-vsementsov@virtuozzo.com
Message-Id: <20190218140926.333779-10-vsementsov@virtuozzo.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
Vladimir Sementsov-Ogievskiy 2019-02-18 17:09:18 +03:00 committed by Stefan Hajnoczi
parent 30d780f8fe
commit c793d4ff20

View file

@ -3894,7 +3894,6 @@ qcow2_co_pwritev_compressed(BlockDriverState *bs, uint64_t offset,
{ {
BDRVQcow2State *s = bs->opaque; BDRVQcow2State *s = bs->opaque;
QEMUIOVector hd_qiov; QEMUIOVector hd_qiov;
struct iovec iov;
int ret; int ret;
size_t out_len; size_t out_len;
uint8_t *buf, *out_buf; uint8_t *buf, *out_buf;
@ -3960,11 +3959,7 @@ qcow2_co_pwritev_compressed(BlockDriverState *bs, uint64_t offset,
goto fail; goto fail;
} }
iov = (struct iovec) { qemu_iovec_init_buf(&hd_qiov, out_buf, out_len);
.iov_base = out_buf,
.iov_len = out_len,
};
qemu_iovec_init_external(&hd_qiov, &iov, 1);
BLKDBG_EVENT(bs->file, BLKDBG_WRITE_COMPRESSED); BLKDBG_EVENT(bs->file, BLKDBG_WRITE_COMPRESSED);
ret = bdrv_co_pwritev(bs->file, cluster_offset, out_len, &hd_qiov, 0); ret = bdrv_co_pwritev(bs->file, cluster_offset, out_len, &hd_qiov, 0);
@ -3990,7 +3985,6 @@ qcow2_co_preadv_compressed(BlockDriverState *bs,
int ret = 0, csize, nb_csectors; int ret = 0, csize, nb_csectors;
uint64_t coffset; uint64_t coffset;
uint8_t *buf, *out_buf; uint8_t *buf, *out_buf;
struct iovec iov;
QEMUIOVector local_qiov; QEMUIOVector local_qiov;
int offset_in_cluster = offset_into_cluster(s, offset); int offset_in_cluster = offset_into_cluster(s, offset);
@ -4002,9 +3996,7 @@ qcow2_co_preadv_compressed(BlockDriverState *bs,
if (!buf) { if (!buf) {
return -ENOMEM; return -ENOMEM;
} }
iov.iov_base = buf; qemu_iovec_init_buf(&local_qiov, buf, csize);
iov.iov_len = csize;
qemu_iovec_init_external(&local_qiov, &iov, 1);
out_buf = qemu_blockalign(bs, s->cluster_size); out_buf = qemu_blockalign(bs, s->cluster_size);