diff options
author | Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> | 2019-04-22 17:58:38 +0300 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2019-04-30 15:29:00 +0200 |
commit | 265a7e54efad246f4bde63f77aee6311f436f5f1 (patch) | |
tree | 5b22bd8ad273bbbe057f1e5c23bb8fd5dec68fb4 /qemu-img.c | |
parent | f4326aefcf2cd0e89675ca13978597913586d393 (diff) |
qemu-img: use buffer-based io
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'qemu-img.c')
-rw-r--r-- | qemu-img.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/qemu-img.c b/qemu-img.c index ddd55ab291..e6ad5978e0 100644 --- a/qemu-img.c +++ b/qemu-img.c @@ -1680,7 +1680,6 @@ static int coroutine_fn convert_co_read(ImgConvertState *s, int64_t sector_num, int nb_sectors, uint8_t *buf) { int n, ret; - QEMUIOVector qiov; assert(nb_sectors <= s->buf_sectors); while (nb_sectors > 0) { @@ -1696,11 +1695,10 @@ static int coroutine_fn convert_co_read(ImgConvertState *s, int64_t sector_num, bs_sectors = s->src_sectors[src_cur]; n = MIN(nb_sectors, bs_sectors - (sector_num - src_cur_offset)); - qemu_iovec_init_buf(&qiov, buf, n << BDRV_SECTOR_BITS); - ret = blk_co_preadv( + ret = blk_co_pread( blk, (sector_num - src_cur_offset) << BDRV_SECTOR_BITS, - n << BDRV_SECTOR_BITS, &qiov, 0); + n << BDRV_SECTOR_BITS, buf, 0); if (ret < 0) { return ret; } @@ -1719,7 +1717,6 @@ static int coroutine_fn convert_co_write(ImgConvertState *s, int64_t sector_num, enum ImgConvertBlockStatus status) { int ret; - QEMUIOVector qiov; while (nb_sectors > 0) { int n = nb_sectors; @@ -1747,10 +1744,8 @@ static int coroutine_fn convert_co_write(ImgConvertState *s, int64_t sector_num, (s->compressed && !buffer_is_zero(buf, n * BDRV_SECTOR_SIZE))) { - qemu_iovec_init_buf(&qiov, buf, n << BDRV_SECTOR_BITS); - - ret = blk_co_pwritev(s->target, sector_num << BDRV_SECTOR_BITS, - n << BDRV_SECTOR_BITS, &qiov, flags); + ret = blk_co_pwrite(s->target, sector_num << BDRV_SECTOR_BITS, + n << BDRV_SECTOR_BITS, buf, flags); if (ret < 0) { return ret; } |