
On Tue, Mar 21, 2017 at 08:47:49 +0100, Peter Krempa wrote:
For certain kinds of panic notifiers (notably hyper-v) qemu is able to report some data regarding the crash passed from the guest.
Make the data accessible to the callback in qemu so that it can be processed further. --- src/qemu/qemu_monitor.c | 15 ++++++++++-- src/qemu/qemu_monitor.h | 32 ++++++++++++++++++++++++- src/qemu/qemu_monitor_json.c | 56 ++++++++++++++++++++++++++++++++++++++++++-- src/qemu/qemu_process.c | 2 ++ 4 files changed, 100 insertions(+), 5 deletions(-)
diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 79da47237..4a7e71e8f 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -1359,11 +1359,12 @@ qemuMonitorEmitResume(qemuMonitorPtr mon)
int -qemuMonitorEmitGuestPanic(qemuMonitorPtr mon) +qemuMonitorEmitGuestPanic(qemuMonitorPtr mon, + qemuMonitorEventPanicInfoPtr info) { int ret = -1; VIR_DEBUG("mon=%p", mon); - QEMU_MONITOR_CALLBACK(mon, ret, domainGuestPanic, mon->vm); + QEMU_MONITOR_CALLBACK(mon, ret, domainGuestPanic, mon->vm, info); return ret; }
@@ -4184,3 +4185,13 @@ qemuMonitorQueryQMPSchema(qemuMonitorPtr mon)
return qemuMonitorJSONQueryQMPSchema(mon); } + + +void +qemuMonitorEventPanicInfoFree(qemuMonitorEventPanicInfoPtr info) +{ + if (!info) + return;
This check is redundant... unless you add more staff in the structure which would need to be explicitly freed here.
+ + VIR_FREE(info); +}
ACK Jirka