diff --git a/block/block-backend.c b/block/block-backend.c index 3203b25695779cb84530d6487a221d7de70981c8..4d6c18bc39fb4b8d14a96c55f7f07716e50f2c36 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 3f41238b33a7b8e62856f27dc22281d11bbca7d0..443ef2f2e687c211b8dd5b43a1444f8e15a4ef42 100644 --- a/block/coroutines.h +++ b/block/coroutines.h @@ -112,10 +112,6 @@ bdrv_common_block_status_above(BlockDriverState *bs, 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, diff --git a/block/meson.build b/block/meson.build index 0b2a60c99b711a434a957c54f7965b4342e7f944..60bc3055972ae2971b869ba3cb517d6e12d71d84 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@']) diff --git a/include/sysemu/block-backend-io.h b/include/sysemu/block-backend-io.h index b048476a471c2d257d9c373971881ecbae83685a..750089fc9b75d8b1d7fa342d8563f107e67c8e5b 100644 --- a/include/sysemu/block-backend-io.h +++ b/include/sysemu/block-backend-io.h @@ -101,10 +101,12 @@ int coroutine_fn blk_co_copy_range(BlockBackend *blk_in, int64_t off_in, * the "I/O or GS" API. */ -int blk_pread(BlockBackend *blk, int64_t offset, int64_t bytes, void *buf, - BdrvRequestFlags flags); -int blk_pwrite(BlockBackend *blk, int64_t offset, int64_t bytes, - const void *buf, BdrvRequestFlags flags); +int generated_co_wrapper blk_pread(BlockBackend *blk, int64_t offset, + int64_t bytes, void *buf, + BdrvRequestFlags flags); +int generated_co_wrapper blk_pwrite(BlockBackend *blk, int64_t offset, + int64_t bytes, const void *buf, + BdrvRequestFlags flags); int coroutine_fn blk_co_preadv(BlockBackend *blk, int64_t offset, int64_t bytes, QEMUIOVector *qiov, BdrvRequestFlags flags);