Currently, we do not define exactly what is returned when read, but
having a reliable source of zeros is always nice.

Signed-off-by: Max Reitz <mre...@redhat.com>
---
 block/null.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/block/null.c b/block/null.c
index d90165d..ad883d9 100644
--- a/block/null.c
+++ b/block/null.c
@@ -90,6 +90,7 @@ static coroutine_fn int null_co_readv(BlockDriverState *bs,
                                       int64_t sector_num, int nb_sectors,
                                       QEMUIOVector *qiov)
 {
+    qemu_iovec_memset(qiov, 0, 0, nb_sectors * BDRV_SECTOR_SIZE);
     return null_co_common(bs);
 }
 
@@ -159,6 +160,7 @@ static BlockAIOCB *null_aio_readv(BlockDriverState *bs,
                                   BlockCompletionFunc *cb,
                                   void *opaque)
 {
+    qemu_iovec_memset(qiov, 0, 0, nb_sectors * BDRV_SECTOR_SIZE);
     return null_aio_common(bs, cb, opaque);
 }
 
-- 
2.7.1


Reply via email to