qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH V11 10/17] qmp: add recursive member in ImageInf


From: Markus Armbruster
Subject: Re: [Qemu-devel] [PATCH V11 10/17] qmp: add recursive member in ImageInfo
Date: Thu, 11 Apr 2013 11:28:58 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1 (gnu/linux)

Wenchao Xia <address@hidden> writes:

> 于 2013-4-11 0:06, Markus Armbruster 写道:
>> Wenchao Xia <address@hidden> writes:
>> 
>>>    New member *backing-image is added to reflect the backing chain
>>> status.
>>>
>>> Signed-off-by: Wenchao Xia <address@hidden>
>>> Reviewed-by: Kevin Wolf <address@hidden>
>>> Reviewed-by: Eric Blake <address@hidden>
>>> ---
>>>   block/qapi.c     |    6 +++++-
>>>   qapi-schema.json |    5 ++++-
>>>   2 files changed, 9 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/block/qapi.c b/block/qapi.c
>>> index 5e91ab8..fa61c85 100644
>>> --- a/block/qapi.c
>>> +++ b/block/qapi.c
>>> @@ -123,7 +123,11 @@ int bdrv_query_snapshot_info_list(BlockDriverState *bs,
>>>       return 0;
>>>   }
>>>   
>>> -/* return 0 on success, and @p_info will be set only on success. */
>>> +/*
>>> + * return 0 on success, and @p_info will be set only on success,
>>> + * (*pinfo)->has_backing_image will be false and (*pinfo)->backing_image 
>>> will
>>> + * be NULL.
>>> + */
>> 
>> Sounds like this function computes incomplete ImageInfo.  Correct?  If
>> yes, why?
>> 
>   yes, qemu-img will use it to get info of an image that may be broken
> in backing file chain(can't get backing file's info).

Ah, that makes sense.

Suggest:

/**
 * bdrv_query_image_info:
 * @bs: block device to examine
 * @p_info: location to store image information
 * @errp: location to store error information
 *
 * Store "flat" image inforation in @p_info.
 *
 * "Flat" means it does *not* query backing image information,
 * i.e. (*pinfo)->has_backing_image will be set to false and
 * (*pinfo)->backing_image to NULL even when the image does in fact have
 * a backing image.
 *
 * On error, store error in @errp.
 *
 * Returns: 0 on success, -errno on error.
 */

>>>   int bdrv_query_image_info(BlockDriverState *bs,
>>>                             ImageInfo **p_info,
>>>                             Error **errp)
>>> diff --git a/qapi-schema.json b/qapi-schema.json
>>> index 225afef..ad9dd82 100644
>>> --- a/qapi-schema.json
>>> +++ b/qapi-schema.json
>>> @@ -233,6 +233,8 @@
>>>   #
>>>   # @snapshots: #optional list of VM snapshots
>>>   #
>>> +# @backing-image: #optional info of the backing image (since 1.5)
>>> +#
>>>   # Since: 1.3
>>>   #
>>>   ##
>>> @@ -242,7 +244,8 @@
>>>              '*actual-size': 'int', 'virtual-size': 'int',
>>>              '*cluster-size': 'int', '*encrypted': 'bool',
>>>              '*backing-filename': 'str', '*full-backing-filename': 'str',
>>> -           '*backing-filename-format': 'str', '*snapshots': 
>>> ['SnapshotInfo'] } }
>>> +           '*backing-filename-format': 'str', '*snapshots': 
>>> ['SnapshotInfo'],
>>> +           '*backing-image': 'ImageInfo' } }
>>>   
>>>   ##
>>>   # @ImageCheck:
>> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]