δΊ 2013-2-27 0:13, Eric Blake ει:
On 02/26/2013 03:40 AM, Wenchao Xia wrote:
This patch added the support of showing internal snapshots on an
image in the backing chain of a block device in hmp layer, by
calling a qmp function.
Signed-off-by: Wenchao Xia <xiaw...@linux.vnet.ibm.com>
---
hmp.c | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
monitor.c | 6 ++--
2 files changed, 83 insertions(+), 4 deletions(-)
diff --git a/hmp.c b/hmp.c
index 5e68b2f..ffa92ff 100644
+static ImageInfo *find_image_info(const DeviceImageInfoList *device_image_list,
+ const char *image_name)
+{
+ ImageInfo *image_info;
+
+
+ /* search the chain */
+ while (device_image_list) {
+ if (device_image_list->value->has_image) {
+ image_info = device_image_list->value->image;
+ if (!strcmp(image_info->filename, image_name)) {
+ return image_info;
+ }
+ }
Is this loop smart enough, or should it be borrowing from some of the
additional complexity in bdrv_find_backing_image for properly chasing
down relative names?
OK, it will be enhanced.
+ if (image_info) {
+ if (image_info->has_snapshots) {
+ list = image_info->snapshots;
+ monitor_printf(mon, "Device '%s', Image name '%s':\n",
+ device_name, image_info->filename);
+ monitor_dump_snapshotinfolist(mon, list);
+ } else {
+ monitor_printf(mon, "Device '%s' have no valid "
s/have/has/
OK.
+ "internal snapshot.\n",
+ device_name);
+ }
+ } else {
+ monitor_printf(mon, "Device '%s' have no correspond image now.\n",
s/have no correspond image now/has no corresponding image/
OK.
--
Best Regards
Wenchao Xia