[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH 1/9] block: introduce byte-based io helpers
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
[Qemu-block] [PATCH 1/9] block: introduce byte-based io helpers |
Date: |
Mon, 22 Apr 2019 17:58:30 +0300 |
Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
---
include/block/block_int.h | 16 ++++++++++++++++
include/sysemu/block-backend.h | 19 +++++++++++++++++++
2 files changed, 35 insertions(+)
diff --git a/include/block/block_int.h b/include/block/block_int.h
index 01e855a066..94d45c9708 100644
--- a/include/block/block_int.h
+++ b/include/block/block_int.h
@@ -925,6 +925,22 @@ int coroutine_fn bdrv_co_pwritev(BdrvChild *child,
int64_t offset, unsigned int bytes, QEMUIOVector *qiov,
BdrvRequestFlags flags);
+static inline int coroutine_fn bdrv_co_pread(BdrvChild *child,
+ int64_t offset, unsigned int bytes, void *buf, BdrvRequestFlags flags)
+{
+ QEMUIOVector qiov = QEMU_IOVEC_INIT_BUF(qiov, buf, bytes);
+
+ return bdrv_co_preadv(child, offset, bytes, &qiov, flags);
+}
+
+static inline int coroutine_fn bdrv_co_pwrite(BdrvChild *child,
+ int64_t offset, unsigned int bytes, void *buf, BdrvRequestFlags flags)
+{
+ QEMUIOVector qiov = QEMU_IOVEC_INIT_BUF(qiov, buf, bytes);
+
+ return bdrv_co_pwritev(child, offset, bytes, &qiov, flags);
+}
+
extern unsigned int bdrv_drain_all_count;
void bdrv_apply_subtree_drain(BdrvChild *child, BlockDriverState *new_parent);
void bdrv_unapply_subtree_drain(BdrvChild *child, BlockDriverState
*old_parent);
diff --git a/include/sysemu/block-backend.h b/include/sysemu/block-backend.h
index 3be05c2d68..5be6224226 100644
--- a/include/sysemu/block-backend.h
+++ b/include/sysemu/block-backend.h
@@ -124,6 +124,25 @@ int coroutine_fn blk_co_preadv(BlockBackend *blk, int64_t
offset,
int coroutine_fn blk_co_pwritev(BlockBackend *blk, int64_t offset,
unsigned int bytes, QEMUIOVector *qiov,
BdrvRequestFlags flags);
+
+static inline int coroutine_fn blk_co_pread(BlockBackend *blk, int64_t offset,
+ unsigned int bytes, void *buf,
+ BdrvRequestFlags flags)
+{
+ QEMUIOVector qiov = QEMU_IOVEC_INIT_BUF(qiov, buf, bytes);
+
+ return blk_co_preadv(blk, offset, bytes, &qiov, flags);
+}
+
+static inline int coroutine_fn blk_co_pwrite(BlockBackend *blk, int64_t offset,
+ unsigned int bytes, void *buf,
+ BdrvRequestFlags flags)
+{
+ QEMUIOVector qiov = QEMU_IOVEC_INIT_BUF(qiov, buf, bytes);
+
+ return blk_co_pwritev(blk, offset, bytes, &qiov, flags);
+}
+
int blk_pwrite_zeroes(BlockBackend *blk, int64_t offset,
int bytes, BdrvRequestFlags flags);
BlockAIOCB *blk_aio_pwrite_zeroes(BlockBackend *blk, int64_t offset,
--
2.18.0
- [Qemu-block] [PATCH 0/9] block: buffer-based io, Vladimir Sementsov-Ogievskiy, 2019/04/22
- [Qemu-block] [PATCH 8/9] block/stream: use buffer-based io, Vladimir Sementsov-Ogievskiy, 2019/04/22
- [Qemu-block] [PATCH 7/9] block/commit: use buffer-based io, Vladimir Sementsov-Ogievskiy, 2019/04/22
- [Qemu-block] [PATCH 1/9] block: introduce byte-based io helpers,
Vladimir Sementsov-Ogievskiy <=
- [Qemu-block] [PATCH 6/9] block/backup: use buffer-based io, Vladimir Sementsov-Ogievskiy, 2019/04/22
- [Qemu-block] [PATCH 4/9] block/qed: use buffer-based io, Vladimir Sementsov-Ogievskiy, 2019/04/22
- [Qemu-block] [PATCH 5/9] block/parallels: use buffer-based io, Vladimir Sementsov-Ogievskiy, 2019/04/22
- [Qemu-block] [PATCH 2/9] block/qcow2: use buffer-based io, Vladimir Sementsov-Ogievskiy, 2019/04/22
- [Qemu-block] [PATCH 3/9] block/qcow: use buffer-based io, Vladimir Sementsov-Ogievskiy, 2019/04/22
- [Qemu-block] [PATCH 9/9] qemu-img: use buffer-based io, Vladimir Sementsov-Ogievskiy, 2019/04/22
- Re: [Qemu-block] [PATCH 0/9] block: buffer-based io, Stefan Hajnoczi, 2019/04/23
- Re: [Qemu-block] [Qemu-devel] [PATCH 0/9] block: buffer-based io, Stefano Garzarella, 2019/04/30