On 11/30/2015 04:32 AM, Peter Xu wrote: > One new QMP event DUMP_COMPLETED is added. It is used when user > specified "detach" in dump, and triggered when the dump finishes > (either succeeded or failed). If failed, one "err" data will be > passed with specific error message. > > Signed-off-by: Peter Xu <pet...@redhat.com> > --- > docs/qmp-events.txt | 14 ++++++++++++++ > dump.c | 6 +++++- > qapi/event.json | 10 ++++++++++ > 3 files changed, 29 insertions(+), 1 deletion(-) > > diff --git a/docs/qmp-events.txt b/docs/qmp-events.txt > index d2f1ce4..7b9f835 100644 > --- a/docs/qmp-events.txt > +++ b/docs/qmp-events.txt > @@ -674,3 +674,17 @@ Note: If action is "reset", "shutdown", or "pause" the > WATCHDOG event is > followed respectively by the RESET, SHUTDOWN, or STOP events. > > Note: this event is rate-limited. > + > +DUMP_COMPLETED > +-------------- > + > +Emitted when the guest has finished one memory dump. > + > +Data: > + > +- "error": Error message when dump failed (json-string, optional) > + > +Example: > + > +{ "event": "DUMP_COMPLETED", > + "data": {} }
Please keep this file sorted. The insertion should be between DEVICE_TRAY_MOVED and GUEST_PANICKED. > diff --git a/dump.c b/dump.c > index 14fd41f..43f565d 100644 > --- a/dump.c > +++ b/dump.c > @@ -25,6 +25,7 @@ > #include "qapi/error.h" > #include "qapi/qmp/qerror.h" > #include "qmp-commands.h" > +#include "qapi-event.h" > > #include <zlib.h> > #ifdef CONFIG_LZO > @@ -1633,8 +1634,11 @@ static void *dump_thread(void *data) > dump_process(s, &err); > > if (err) { > - /* TODO: notify user the error */ > + qapi_event_send_dump_completed(true, error_get_pretty(err), > + &error_abort); > error_free(err); > + } else { > + qapi_event_send_dump_completed(false, NULL, &error_abort); > } Hmmm. I wonder if error_get_pretty() should be improved to return NULL when there is no error. Then we could write: qapi_event_send_dump_completed(!!err, error_get_pretty(err), &error_abort); error_free(err); But that doesn't affect the correctness of your patch. > return NULL; > } > diff --git a/qapi/event.json b/qapi/event.json > index f0cef01..c46214b 100644 > --- a/qapi/event.json > +++ b/qapi/event.json > @@ -356,3 +356,13 @@ > ## > { 'event': 'MEM_UNPLUG_ERROR', > 'data': { 'device': 'str', 'msg': 'str' } } > + > +## > +# @DUMP_COMPLETED > +# > +# Emitted when background dump has completed > +# > +# Since: 2.6 Missing documentation of 'error'. > +## > +{ 'event': 'DUMP_COMPLETED' , > + 'data': { '*error': 'str' } } > -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature