[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v5 11/11] Dump: add hmp command "info dump"
From: |
Peter Xu |
Subject: |
[Qemu-devel] [PATCH v5 11/11] Dump: add hmp command "info dump" |
Date: |
Mon, 7 Dec 2015 13:56:36 +0800 |
It will calculate percentage of finished work from completed and
total.
Signed-off-by: Peter Xu <address@hidden>
---
hmp-commands-info.hx | 14 ++++++++++++++
hmp.c | 18 ++++++++++++++++++
hmp.h | 1 +
3 files changed, 33 insertions(+)
diff --git a/hmp-commands-info.hx b/hmp-commands-info.hx
index 9b71351..52539c3 100644
--- a/hmp-commands-info.hx
+++ b/hmp-commands-info.hx
@@ -786,6 +786,20 @@ STEXI
Display the value of a storage key (s390 only)
ETEXI
+ {
+ .name = "dump",
+ .args_type = "",
+ .params = "",
+ .help = "Display the latest dump status",
+ .mhandler.cmd = hmp_info_dump,
+ },
+
+STEXI
address@hidden info dump
address@hidden dump
+Display the latest dump status.
+ETEXI
+
STEXI
@end table
ETEXI
diff --git a/hmp.c b/hmp.c
index 1f4d0b6..b001283 100644
--- a/hmp.c
+++ b/hmp.c
@@ -2383,3 +2383,21 @@ void hmp_rocker_of_dpa_groups(Monitor *mon, const QDict
*qdict)
qapi_free_RockerOfDpaGroupList(list);
}
+
+void hmp_info_dump(Monitor *mon, const QDict *qdict)
+{
+ Error *not_used = NULL;
+ DumpQueryResult *result = qmp_query_dump(¬_used);
+
+ assert(result->status < DUMP_STATUS_MAX);
+ monitor_printf(mon, "Status: %s\n", DumpStatus_lookup[result->status]);
+
+ if (result->status == DUMP_STATUS_ACTIVE) {
+ float percent = 0;
+ assert(result->total != 0);
+ percent = 100.0 * result->completed / result->total;
+ monitor_printf(mon, "Finished: %.2f %%\n", percent);
+ }
+
+ qapi_free_DumpQueryResult(result);
+}
diff --git a/hmp.h b/hmp.h
index a8c5b5a..093d65f 100644
--- a/hmp.h
+++ b/hmp.h
@@ -131,5 +131,6 @@ void hmp_rocker(Monitor *mon, const QDict *qdict);
void hmp_rocker_ports(Monitor *mon, const QDict *qdict);
void hmp_rocker_of_dpa_flows(Monitor *mon, const QDict *qdict);
void hmp_rocker_of_dpa_groups(Monitor *mon, const QDict *qdict);
+void hmp_info_dump(Monitor *mon, const QDict *qdict);
#endif
--
2.4.3
- [Qemu-devel] [PATCH v5 05/11] dump-guest-memory: introduce dump_process() helper function., (continued)
- [Qemu-devel] [PATCH v5 05/11] dump-guest-memory: introduce dump_process() helper function., Peter Xu, 2015/12/07
- [Qemu-devel] [PATCH v5 06/11] dump-guest-memory: disable dump when in INMIGRATE state, Peter Xu, 2015/12/07
- [Qemu-devel] [PATCH v5 07/11] dump-guest-memory: add "detach" support, Peter Xu, 2015/12/07
- [Qemu-devel] [PATCH v5 08/11] dump-guest-memory: add qmp event DUMP_COMPLETED, Peter Xu, 2015/12/07
- [Qemu-devel] [PATCH v5 09/11] DumpState: adding total_size and written_size fields, Peter Xu, 2015/12/07
- [Qemu-devel] [PATCH v5 10/11] Dump: add qmp command "query-dump", Peter Xu, 2015/12/07
- [Qemu-devel] [PATCH v5 11/11] Dump: add hmp command "info dump",
Peter Xu <=
- Re: [Qemu-devel] [PATCH v5 00/11] Add basic "detach" support for dump-guest-memory, Fam Zheng, 2015/12/07
- Re: [Qemu-devel] [PATCH v5 00/11] Add basic "detach" support for dump-guest-memory, Eric Blake, 2015/12/07