[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH V11 15/17] hmp: switch snapshot info function to qmp
From: |
Wenchao Xia |
Subject: |
[Qemu-devel] [PATCH V11 15/17] hmp: switch snapshot info function to qmp based one |
Date: |
Tue, 2 Apr 2013 19:47:28 +0800 |
This patch using new added function in last commit which retrieve
info from qmp for snapshot info.
Signed-off-by: Wenchao Xia <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
---
monitor.c | 2 +-
savevm.c | 69 -------------------------------------------------------------
2 files changed, 1 insertions(+), 70 deletions(-)
diff --git a/monitor.c b/monitor.c
index 4ec1db9..4720207 100644
--- a/monitor.c
+++ b/monitor.c
@@ -2621,7 +2621,7 @@ static mon_cmd_t info_cmds[] = {
.args_type = "",
.params = "",
.help = "show the currently saved VM snapshots",
- .mhandler.cmd = do_info_snapshots,
+ .mhandler.cmd = hmp_info_snapshots,
},
{
.name = "status",
diff --git a/savevm.c b/savevm.c
index ce0bbe1..ca1e393 100644
--- a/savevm.c
+++ b/savevm.c
@@ -2459,75 +2459,6 @@ void do_delvm(Monitor *mon, const QDict *qdict)
}
}
-void do_info_snapshots(Monitor *mon, const QDict *qdict)
-{
- BlockDriverState *bs, *bs1;
- QEMUSnapshotInfo *sn_tab, *sn, s, *sn_info = &s;
- int nb_sns, i, ret, available;
- int total;
- int *available_snapshots;
- GString *buf = NULL;
-
- bs = bdrv_snapshots();
- if (!bs) {
- monitor_printf(mon, "No available block device supports snapshots\n");
- return;
- }
-
- nb_sns = bdrv_snapshot_list(bs, &sn_tab);
- if (nb_sns < 0) {
- monitor_printf(mon, "bdrv_snapshot_list: error %d\n", nb_sns);
- return;
- }
-
- if (nb_sns == 0) {
- monitor_printf(mon, "There is no snapshot available.\n");
- return;
- }
-
- available_snapshots = g_malloc0(sizeof(int) * nb_sns);
- total = 0;
- for (i = 0; i < nb_sns; i++) {
- sn = &sn_tab[i];
- available = 1;
- bs1 = NULL;
-
- while ((bs1 = bdrv_next(bs1))) {
- if (bdrv_can_snapshot(bs1) && bs1 != bs) {
- ret = bdrv_snapshot_find(bs1, sn_info, sn->id_str, NULL);
- if (ret < 0) {
- available = 0;
- break;
- }
- }
- }
-
- if (available) {
- available_snapshots[total] = i;
- total++;
- }
- }
-
- if (total > 0) {
- buf = g_string_new(NULL);
- bdrv_snapshot_dump(buf, NULL);
- g_string_append_printf(buf, "\n");
- for (i = 0; i < total; i++) {
- sn = &sn_tab[available_snapshots[i]];
- bdrv_snapshot_dump(buf, sn);
- g_string_append_printf(buf, "\n");
- }
- monitor_printf(mon, "%s", buf->str);
- g_string_free(buf, true);
- } else {
- monitor_printf(mon, "There is no suitable snapshot available\n");
- }
-
- g_free(sn_tab);
- g_free(available_snapshots);
-
-}
-
void vmstate_register_ram(MemoryRegion *mr, DeviceState *dev)
{
qemu_ram_set_idstr(memory_region_get_ram_addr(mr) & TARGET_PAGE_MASK,
--
1.7.1
- Re: [Qemu-devel] [PATCH V11 11/17] qmp: add ImageInfo in BlockDeviceInfo used by query-block, (continued)
[Qemu-devel] [PATCH V11 16/17] hmp: show ImageInfo in 'info block', Wenchao Xia, 2013/04/02
[Qemu-devel] [PATCH V11 15/17] hmp: switch snapshot info function to qmp based one,
Wenchao Xia <=
[Qemu-devel] [PATCH V11 17/17] hmp: add parameters device and -v for info block, Wenchao Xia, 2013/04/02
[Qemu-devel] [PATCH V11 14/17] hmp: add function hmp_info_snapshots(), Wenchao Xia, 2013/04/02
Re: [Qemu-devel] [PATCH V11 00/17] qmp/hmp interfaces for internal snapshot info, Wenchao Xia, 2013/04/07
Re: [Qemu-devel] [PATCH V11 00/17] qmp/hmp interfaces for internal snapshot info, Kevin Wolf, 2013/04/08
Re: [Qemu-devel] [PATCH V11 00/17] qmp/hmp interfaces for internal snapshot info, Stefan Hajnoczi, 2013/04/08
Re: [Qemu-devel] [PATCH V11 00/17] qmp/hmp interfaces for internal snapshot info, Markus Armbruster, 2013/04/11