aboutsummaryrefslogtreecommitdiff
path: root/block
diff options
context:
space:
mode:
authorAlberto Faria <afaria@redhat.com>2022-07-05 17:15:14 +0100
committerHanna Reitz <hreitz@redhat.com>2022-07-12 12:14:56 +0200
commitfacbaad946db92900654a3df8678b1dc7d581524 (patch)
treeedb86b0987fa7c951b80b51bd21b35a60383a397 /block
parent7d252ba5caf094f03b032cad8bbef718a86712ae (diff)
block: Implement blk_{pread,pwrite}() using generated_co_wrapper
We need to add include/sysemu/block-backend-io.h to the inputs of the block-gen.c target defined in block/meson.build. Signed-off-by: Alberto Faria <afaria@redhat.com> Reviewed-by: Hanna Reitz <hreitz@redhat.com> Message-Id: <20220705161527.1054072-7-afaria@redhat.com> Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Diffstat (limited to 'block')
-rw-r--r--block/block-backend.c23
-rw-r--r--block/coroutines.h4
-rw-r--r--block/meson.build1
3 files changed, 1 insertions, 27 deletions
diff --git a/block/block-backend.c b/block/block-backend.c
index 3203b25695..4d6c18bc39 100644
--- a/block/block-backend.c
+++ b/block/block-backend.c
@@ -1563,29 +1563,6 @@ BlockAIOCB *blk_aio_pwrite_zeroes(BlockBackend *blk, int64_t offset,
flags | BDRV_REQ_ZERO_WRITE, cb, opaque);
}
-int blk_pread(BlockBackend *blk, int64_t offset, int64_t bytes, void *buf,
- BdrvRequestFlags flags)
-{
- int ret;
- QEMUIOVector qiov = QEMU_IOVEC_INIT_BUF(qiov, buf, bytes);
- IO_OR_GS_CODE();
-
- blk_inc_in_flight(blk);
- ret = blk_do_preadv(blk, offset, bytes, &qiov, flags);
- blk_dec_in_flight(blk);
-
- return ret;
-}
-
-int blk_pwrite(BlockBackend *blk, int64_t offset, int64_t bytes,
- const void *buf, BdrvRequestFlags flags)
-{
- QEMUIOVector qiov = QEMU_IOVEC_INIT_BUF(qiov, buf, bytes);
- IO_OR_GS_CODE();
-
- return blk_pwritev_part(blk, offset, bytes, &qiov, 0, flags);
-}
-
int64_t blk_getlength(BlockBackend *blk)
{
IO_CODE();
diff --git a/block/coroutines.h b/block/coroutines.h
index 3f41238b33..443ef2f2e6 100644
--- a/block/coroutines.h
+++ b/block/coroutines.h
@@ -113,10 +113,6 @@ int generated_co_wrapper
nbd_do_establish_connection(BlockDriverState *bs, bool blocking, Error **errp);
int generated_co_wrapper
-blk_do_preadv(BlockBackend *blk, int64_t offset, int64_t bytes,
- QEMUIOVector *qiov, BdrvRequestFlags flags);
-
-int generated_co_wrapper
blk_do_pwritev_part(BlockBackend *blk, int64_t offset, int64_t bytes,
QEMUIOVector *qiov, size_t qiov_offset,
BdrvRequestFlags flags);
diff --git a/block/meson.build b/block/meson.build
index 0b2a60c99b..60bc305597 100644
--- a/block/meson.build
+++ b/block/meson.build
@@ -136,6 +136,7 @@ block_gen_c = custom_target('block-gen.c',
input: files(
'../include/block/block-io.h',
'../include/block/block-global-state.h',
+ '../include/sysemu/block-backend-io.h',
'coroutines.h'
),
command: [wrapper_py, '@OUTPUT@', '@INPUT@'])