There is currently no way to query the size of a drive. Add a 'virtual_size' field to the 'query-block' QMP output.
Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> --- block.c | 1 + qapi-schema.json | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/block.c b/block.c index 124a9eb..0128e27 100644 --- a/block.c +++ b/block.c @@ -2908,6 +2908,7 @@ BlockInfo *bdrv_query_info(BlockDriverState *bs) info->has_inserted = true; info->inserted = g_malloc0(sizeof(*info->inserted)); info->inserted->file = g_strdup(bs->filename); + info->inserted->virtual_size = bdrv_getlength(bs); info->inserted->ro = bs->read_only; info->inserted->drv = g_strdup(bs->drv->format_name); info->inserted->encrypted = bs->encrypted; diff --git a/qapi-schema.json b/qapi-schema.json index 28b070f..6b64aec 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -751,6 +751,8 @@ # # @iops_wr: write I/O operations per second is specified # +# @virtual_size: size of block device, in bytes +# # Since: 0.14.0 # # Notes: This interface is only found in @BlockInfo. @@ -760,7 +762,8 @@ '*backing_file': 'str', 'backing_file_depth': 'int', 'encrypted': 'bool', 'encryption_key_missing': 'bool', 'bps': 'int', 'bps_rd': 'int', 'bps_wr': 'int', - 'iops': 'int', 'iops_rd': 'int', 'iops_wr': 'int'} } + 'iops': 'int', 'iops_rd': 'int', 'iops_wr': 'int', + 'virtual_size': 'int' } } ## # @BlockDeviceIoStatus: -- 1.8.1.4