mirror of https://github.com/xqemu/xqemu.git
block: Convert bdrv_co_readv() to BdrvChild
Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
db1e80ee2e
commit
28b04a8f65
|
@ -428,7 +428,7 @@ block_crypto_co_readv(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_readv(bs->file->bs,
|
ret = bdrv_co_readv(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) {
|
||||||
|
|
|
@ -1141,12 +1141,12 @@ static int coroutine_fn bdrv_co_do_readv(BlockDriverState *bs,
|
||||||
nb_sectors << BDRV_SECTOR_BITS, qiov, flags);
|
nb_sectors << BDRV_SECTOR_BITS, qiov, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
int coroutine_fn bdrv_co_readv(BlockDriverState *bs, 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)
|
||||||
{
|
{
|
||||||
trace_bdrv_co_readv(bs, sector_num, nb_sectors);
|
trace_bdrv_co_readv(child->bs, sector_num, nb_sectors);
|
||||||
|
|
||||||
return bdrv_co_do_readv(bs, sector_num, nb_sectors, qiov, 0);
|
return bdrv_co_do_readv(child->bs, sector_num, nb_sectors, qiov, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Maximum buffer for write zeroes fallback, in bytes */
|
/* Maximum buffer for write zeroes fallback, in bytes */
|
||||||
|
|
|
@ -351,7 +351,7 @@ static coroutine_fn int parallels_co_readv(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_readv(bs->file->bs, position, n, &hd_qiov);
|
ret = bdrv_co_readv(bs->file, position, n, &hd_qiov);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -619,8 +619,7 @@ static coroutine_fn int qcow_co_readv(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_readv(bs->backing->bs, sector_num,
|
ret = bdrv_co_readv(bs->backing, sector_num, n, &hd_qiov);
|
||||||
n, &hd_qiov);
|
|
||||||
qemu_co_mutex_lock(&s->lock);
|
qemu_co_mutex_lock(&s->lock);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
goto fail;
|
goto fail;
|
||||||
|
@ -644,7 +643,7 @@ static coroutine_fn int qcow_co_readv(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_readv(bs->file->bs,
|
ret = bdrv_co_readv(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);
|
||||||
|
|
|
@ -54,7 +54,7 @@ static int coroutine_fn raw_co_readv(BlockDriverState *bs, int64_t sector_num,
|
||||||
int nb_sectors, QEMUIOVector *qiov)
|
int nb_sectors, QEMUIOVector *qiov)
|
||||||
{
|
{
|
||||||
BLKDBG_EVENT(bs->file, BLKDBG_READ_AIO);
|
BLKDBG_EVENT(bs->file, BLKDBG_READ_AIO);
|
||||||
return bdrv_co_readv(bs->file->bs, sector_num, nb_sectors, qiov);
|
return bdrv_co_readv(bs->file, sector_num, nb_sectors, qiov);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int coroutine_fn
|
static int coroutine_fn
|
||||||
|
|
|
@ -1117,7 +1117,7 @@ static coroutine_fn int vhdx_co_readv(BlockDriverState *bs, int64_t sector_num,
|
||||||
break;
|
break;
|
||||||
case PAYLOAD_BLOCK_FULLY_PRESENT:
|
case PAYLOAD_BLOCK_FULLY_PRESENT:
|
||||||
qemu_co_mutex_unlock(&s->lock);
|
qemu_co_mutex_unlock(&s->lock);
|
||||||
ret = bdrv_co_readv(bs->file->bs,
|
ret = bdrv_co_readv(bs->file,
|
||||||
sinfo.file_offset >> BDRV_SECTOR_BITS,
|
sinfo.file_offset >> BDRV_SECTOR_BITS,
|
||||||
sinfo.sectors_avail, &hd_qiov);
|
sinfo.sectors_avail, &hd_qiov);
|
||||||
qemu_co_mutex_lock(&s->lock);
|
qemu_co_mutex_lock(&s->lock);
|
||||||
|
|
|
@ -241,8 +241,8 @@ int bdrv_pwrite(BlockDriverState *bs, int64_t offset,
|
||||||
int bdrv_pwritev(BlockDriverState *bs, int64_t offset, QEMUIOVector *qiov);
|
int bdrv_pwritev(BlockDriverState *bs, int64_t offset, QEMUIOVector *qiov);
|
||||||
int bdrv_pwrite_sync(BlockDriverState *bs, int64_t offset,
|
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(BlockDriverState *bs, 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(BlockDriverState *bs, int64_t sector_num,
|
||||||
int nb_sectors, QEMUIOVector *qiov);
|
int nb_sectors, QEMUIOVector *qiov);
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue