From 97b00e285119e611f500686f32f9bccffbb9126a Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Fri, 22 Nov 2013 13:39:49 +0100 Subject: vpc, vhdx: add get_info Signed-off-by: Paolo Bonzini Reviewed-by: Peter Lieven Signed-off-by: Stefan Hajnoczi --- block/vpc.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'block/vpc.c') diff --git a/block/vpc.c b/block/vpc.c index 577cc45992..551876fef7 100644 --- a/block/vpc.c +++ b/block/vpc.c @@ -455,6 +455,18 @@ fail: return -1; } +static int vpc_get_info(BlockDriverState *bs, BlockDriverInfo *bdi) +{ + BDRVVPCState *s = (BDRVVPCState *)bs->opaque; + VHDFooter *footer = (VHDFooter *) s->footer_buf; + + if (cpu_to_be32(footer->type) != VHD_FIXED) { + bdi->cluster_size = s->block_size; + } + + return 0; +} + static int vpc_read(BlockDriverState *bs, int64_t sector_num, uint8_t *buf, int nb_sectors) { @@ -857,6 +869,8 @@ static BlockDriver bdrv_vpc = { .bdrv_read = vpc_co_read, .bdrv_write = vpc_co_write, + .bdrv_get_info = vpc_get_info, + .create_options = vpc_create_options, .bdrv_has_zero_init = vpc_has_zero_init, }; -- cgit v1.2.1