[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 3/4] block/null-{co, aio}: Implement get_block_st
From: |
Max Reitz |
Subject: |
[Qemu-devel] [PATCH v2 3/4] block/null-{co, aio}: Implement get_block_status() |
Date: |
Thu, 24 Mar 2016 23:33:59 +0100 |
Signed-off-by: Max Reitz <address@hidden>
---
block/null.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/block/null.c b/block/null.c
index a7df386..f4b3bba 100644
--- a/block/null.c
+++ b/block/null.c
@@ -204,6 +204,24 @@ static int null_reopen_prepare(BDRVReopenState
*reopen_state,
return 0;
}
+static int64_t coroutine_fn null_co_get_block_status(BlockDriverState *bs,
+ int64_t sector_num,
+ int nb_sectors, int *pnum,
+ BlockDriverState **file)
+{
+ BDRVNullState *s = bs->opaque;
+ off_t start = sector_num * BDRV_SECTOR_SIZE;
+
+ *pnum = nb_sectors;
+ *file = bs;
+
+ if (s->read_zeroes) {
+ return BDRV_BLOCK_OFFSET_VALID | start | BDRV_BLOCK_ZERO;
+ } else {
+ return BDRV_BLOCK_OFFSET_VALID | start;
+ }
+}
+
static BlockDriver bdrv_null_co = {
.format_name = "null-co",
.protocol_name = "null-co",
@@ -217,6 +235,8 @@ static BlockDriver bdrv_null_co = {
.bdrv_co_writev = null_co_writev,
.bdrv_co_flush_to_disk = null_co_flush,
.bdrv_reopen_prepare = null_reopen_prepare,
+
+ .bdrv_co_get_block_status = null_co_get_block_status,
};
static BlockDriver bdrv_null_aio = {
@@ -232,6 +252,8 @@ static BlockDriver bdrv_null_aio = {
.bdrv_aio_writev = null_aio_writev,
.bdrv_aio_flush = null_aio_flush,
.bdrv_reopen_prepare = null_reopen_prepare,
+
+ .bdrv_co_get_block_status = null_co_get_block_status,
};
static void bdrv_null_init(void)
--
2.7.4
- [Qemu-devel] [PATCH v2 0/4] qemu-img: Fix preallocation with -S 0 for convert, Max Reitz, 2016/03/24
- [Qemu-devel] [PATCH v2 1/4] qemu-img: Fix preallocation with -S 0 for convert, Max Reitz, 2016/03/24
- [Qemu-devel] [PATCH v2 3/4] block/null-{co, aio}: Implement get_block_status(),
Max Reitz <=
- [Qemu-devel] [PATCH v2 2/4] block/null-{co, aio}: Allow reading zeroes, Max Reitz, 2016/03/24
- [Qemu-devel] [PATCH v2 4/4] iotests: Test qemu-img convert -S 0 behavior, Max Reitz, 2016/03/24
- Re: [Qemu-devel] [PATCH v2 0/4] qemu-img: Fix preallocation with -S 0 for convert, Kevin Wolf, 2016/03/29