block: Convert bdrv_co_writev() to BdrvChild

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
master
Kevin Wolf 2016-05-24 17:21:22 +02:00
parent 28b04a8f65
commit 25ec177d90
6 changed files with 9 additions and 9 deletions

View File

@ -507,7 +507,7 @@ block_crypto_co_writev(BlockDriverState *bs, int64_t sector_num,
qemu_iovec_reset(&hd_qiov); qemu_iovec_reset(&hd_qiov);
qemu_iovec_add(&hd_qiov, cipher_data, cur_nr_sectors * 512); qemu_iovec_add(&hd_qiov, cipher_data, cur_nr_sectors * 512);
ret = bdrv_co_writev(bs->file->bs, ret = bdrv_co_writev(bs->file,
payload_offset + sector_num, payload_offset + sector_num,
cur_nr_sectors, &hd_qiov); cur_nr_sectors, &hd_qiov);
if (ret < 0) { if (ret < 0) {

View File

@ -1547,12 +1547,12 @@ static int coroutine_fn bdrv_co_do_writev(BlockDriverState *bs,
nb_sectors << BDRV_SECTOR_BITS, qiov, flags); nb_sectors << BDRV_SECTOR_BITS, qiov, flags);
} }
int coroutine_fn bdrv_co_writev(BlockDriverState *bs, int64_t sector_num, int coroutine_fn bdrv_co_writev(BdrvChild *child, int64_t sector_num,
int nb_sectors, QEMUIOVector *qiov) int nb_sectors, QEMUIOVector *qiov)
{ {
trace_bdrv_co_writev(bs, sector_num, nb_sectors); trace_bdrv_co_writev(child->bs, sector_num, nb_sectors);
return bdrv_co_do_writev(bs, sector_num, nb_sectors, qiov, 0); return bdrv_co_do_writev(child->bs, sector_num, nb_sectors, qiov, 0);
} }
int coroutine_fn bdrv_co_pwrite_zeroes(BlockDriverState *bs, int coroutine_fn bdrv_co_pwrite_zeroes(BlockDriverState *bs,

View File

@ -311,7 +311,7 @@ static coroutine_fn int parallels_co_writev(BlockDriverState *bs,
qemu_iovec_reset(&hd_qiov); qemu_iovec_reset(&hd_qiov);
qemu_iovec_concat(&hd_qiov, qiov, bytes_done, nbytes); qemu_iovec_concat(&hd_qiov, qiov, bytes_done, nbytes);
ret = bdrv_co_writev(bs->file->bs, position, n, &hd_qiov); ret = bdrv_co_writev(bs->file, position, n, &hd_qiov);
if (ret < 0) { if (ret < 0) {
break; break;
} }

View File

@ -745,7 +745,7 @@ static coroutine_fn int qcow_co_writev(BlockDriverState *bs, int64_t sector_num,
hd_iov.iov_len = n * 512; hd_iov.iov_len = n * 512;
qemu_iovec_init_external(&hd_qiov, &hd_iov, 1); qemu_iovec_init_external(&hd_qiov, &hd_iov, 1);
qemu_co_mutex_unlock(&s->lock); qemu_co_mutex_unlock(&s->lock);
ret = bdrv_co_writev(bs->file->bs, ret = bdrv_co_writev(bs->file,
(cluster_offset >> 9) + index_in_cluster, (cluster_offset >> 9) + index_in_cluster,
n, &hd_qiov); n, &hd_qiov);
qemu_co_mutex_lock(&s->lock); qemu_co_mutex_lock(&s->lock);

View File

@ -1326,7 +1326,7 @@ static coroutine_fn int vhdx_co_writev(BlockDriverState *bs, int64_t sector_num,
} }
/* block exists, so we can just overwrite it */ /* block exists, so we can just overwrite it */
qemu_co_mutex_unlock(&s->lock); qemu_co_mutex_unlock(&s->lock);
ret = bdrv_co_writev(bs->file->bs, ret = bdrv_co_writev(bs->file,
sinfo.file_offset >> BDRV_SECTOR_BITS, sinfo.file_offset >> BDRV_SECTOR_BITS,
sectors_to_write, &hd_qiov); sectors_to_write, &hd_qiov);
qemu_co_mutex_lock(&s->lock); qemu_co_mutex_lock(&s->lock);

View File

@ -243,8 +243,8 @@ int bdrv_pwrite_sync(BlockDriverState *bs, int64_t offset,
const void *buf, int count); const void *buf, int count);
int coroutine_fn bdrv_co_readv(BdrvChild *child, int64_t sector_num, int coroutine_fn bdrv_co_readv(BdrvChild *child, int64_t sector_num,
int nb_sectors, QEMUIOVector *qiov); int nb_sectors, QEMUIOVector *qiov);
int coroutine_fn bdrv_co_writev(BlockDriverState *bs, int64_t sector_num, int coroutine_fn bdrv_co_writev(BdrvChild *child, int64_t sector_num,
int nb_sectors, QEMUIOVector *qiov); int nb_sectors, QEMUIOVector *qiov);
/* /*
* Efficiently zero a region of the disk image. Note that this is a regular * Efficiently zero a region of the disk image. Note that this is a regular
* I/O request like read or write and should have a reasonable size. This * I/O request like read or write and should have a reasonable size. This