[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH v5 09/10] block-backend: Add blk_co_copy_range
From: |
Fam Zheng |
Subject: |
[Qemu-block] [PATCH v5 09/10] block-backend: Add blk_co_copy_range |
Date: |
Wed, 23 May 2018 11:04:35 +0800 |
It's a BlockBackend wrapper of the BDS interface.
Signed-off-by: Fam Zheng <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
---
block/block-backend.c | 18 ++++++++++++++++++
include/sysemu/block-backend.h | 4 ++++
2 files changed, 22 insertions(+)
diff --git a/block/block-backend.c b/block/block-backend.c
index 89f47b00ea..d55c328736 100644
--- a/block/block-backend.c
+++ b/block/block-backend.c
@@ -2211,3 +2211,21 @@ void blk_unregister_buf(BlockBackend *blk, void *host)
{
bdrv_unregister_buf(blk_bs(blk), host);
}
+
+int coroutine_fn blk_co_copy_range(BlockBackend *blk_in, int64_t off_in,
+ BlockBackend *blk_out, int64_t off_out,
+ int bytes, BdrvRequestFlags flags)
+{
+ int r;
+ r = blk_check_byte_request(blk_in, off_in, bytes);
+ if (r) {
+ return r;
+ }
+ r = blk_check_byte_request(blk_out, off_out, bytes);
+ if (r) {
+ return r;
+ }
+ return bdrv_co_copy_range(blk_in->root, off_in,
+ blk_out->root, off_out,
+ bytes, flags);
+}
diff --git a/include/sysemu/block-backend.h b/include/sysemu/block-backend.h
index 92ab624fac..8d03d493c2 100644
--- a/include/sysemu/block-backend.h
+++ b/include/sysemu/block-backend.h
@@ -232,4 +232,8 @@ void blk_set_force_allow_inactivate(BlockBackend *blk);
void blk_register_buf(BlockBackend *blk, void *host, size_t size);
void blk_unregister_buf(BlockBackend *blk, void *host);
+int coroutine_fn blk_co_copy_range(BlockBackend *blk_in, int64_t off_in,
+ BlockBackend *blk_out, int64_t off_out,
+ int bytes, BdrvRequestFlags flags);
+
#endif
--
2.14.3
- Re: [Qemu-block] [PATCH v5 02/10] raw: Check byte range uniformly, (continued)
- [Qemu-block] [PATCH v5 03/10] raw: Implement copy offloading, Fam Zheng, 2018/05/22
- [Qemu-block] [PATCH v5 04/10] qcow2: Implement copy offloading, Fam Zheng, 2018/05/22
- [Qemu-block] [PATCH v5 05/10] file-posix: Implement bdrv_co_copy_range, Fam Zheng, 2018/05/22
- [Qemu-block] [PATCH v5 06/10] iscsi: Query and save device designator when opening, Fam Zheng, 2018/05/22
- [Qemu-block] [PATCH v5 07/10] iscsi: Create and use iscsi_co_wait_for_task, Fam Zheng, 2018/05/22
- [Qemu-block] [PATCH v5 08/10] iscsi: Implement copy offloading, Fam Zheng, 2018/05/22
- [Qemu-block] [PATCH v5 09/10] block-backend: Add blk_co_copy_range,
Fam Zheng <=
- [Qemu-block] [PATCH v5 10/10] qemu-img: Convert with copy offloading, Fam Zheng, 2018/05/22