Suggested-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Fixes: 69f47505ee66afaa513305de0c1895a224e52c45 Signed-off-by: Max Reitz <mre...@redhat.com> --- block/vdi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/block/vdi.c b/block/vdi.c index b9845a4cbd..40d40c34d5 100644 --- a/block/vdi.c +++ b/block/vdi.c @@ -542,7 +542,8 @@ static int coroutine_fn vdi_co_block_status(BlockDriverState *bs, *map = s->header.offset_data + (uint64_t)bmap_entry * s->block_size + index_in_block; *file = bs->file->bs; - return BDRV_BLOCK_DATA | BDRV_BLOCK_OFFSET_VALID; + return BDRV_BLOCK_DATA | BDRV_BLOCK_OFFSET_VALID | + (s->header.image_type == VDI_TYPE_STATIC ? BDRV_BLOCK_RECURSE : 0); } static int coroutine_fn -- 2.21.0