[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH V7 13/14] hmp: switch snapshot info function to qmp
From: |
Wenchao Xia |
Subject: |
[Qemu-devel] [PATCH V7 13/14] hmp: switch snapshot info function to qmp based one |
Date: |
Tue, 26 Feb 2013 18:40:27 +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>
---
monitor.c | 2 +-
savevm.c | 64 -------------------------------------------------------------
2 files changed, 1 insertions(+), 65 deletions(-)
diff --git a/monitor.c b/monitor.c
index 32a6e74..5112375 100644
--- a/monitor.c
+++ b/monitor.c
@@ -2594,7 +2594,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 e151147..d9fe819 100644
--- a/savevm.c
+++ b/savevm.c
@@ -2318,70 +2318,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;
- char buf[256];
-
- 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) {
- monitor_printf(mon, "%s\n", bdrv_snapshot_dump(buf, sizeof(buf),
NULL));
- for (i = 0; i < total; i++) {
- sn = &sn_tab[available_snapshots[i]];
- monitor_printf(mon, "%s\n", bdrv_snapshot_dump(buf, sizeof(buf),
sn));
- }
- } 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 V7 08/14] qmp: add interface query-images., (continued)
- [Qemu-devel] [PATCH V7 09/14] block: move bdrv_snapshot_find() to block.c, Wenchao Xia, 2013/02/26
- [Qemu-devel] [PATCH V7 14/14] hmp: show snapshots on single block device, Wenchao Xia, 2013/02/26
- [Qemu-devel] [PATCH V7 12/14] hmp: add function hmp_info_snapshots(), Wenchao Xia, 2013/02/26
- [Qemu-devel] [PATCH V7 13/14] hmp: switch snapshot info function to qmp based one,
Wenchao Xia <=
- [Qemu-devel] [PATCH V7 10/14] block: distinguish id and name in bdrv_find_snapshot(), Wenchao Xia, 2013/02/26
- [Qemu-devel] [PATCH V7 11/14] qmp: add interface query-snapshots, Wenchao Xia, 2013/02/26
- Re: [Qemu-devel] [PATCH V7 00/14] add qmp/hmp interfaces for internal snapshot info, Stefan Hajnoczi, 2013/02/28