From patchwork Mon Nov 30 11:32:16 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Xu X-Patchwork-Id: 549956 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3EF091400CB for ; Mon, 30 Nov 2015 22:38:55 +1100 (AEDT) Received: from localhost ([::1]:40280 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a3MnF-0008T1-7P for incoming@patchwork.ozlabs.org; Mon, 30 Nov 2015 06:38:53 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35524) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a3Mif-0000mN-6H for qemu-devel@nongnu.org; Mon, 30 Nov 2015 06:34:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a3Mia-0004xR-3V for qemu-devel@nongnu.org; Mon, 30 Nov 2015 06:34:09 -0500 Received: from mx1.redhat.com ([209.132.183.28]:50779) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a3MiZ-0004xH-T6 for qemu-devel@nongnu.org; Mon, 30 Nov 2015 06:34:04 -0500 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (Postfix) with ESMTPS id 9FAC9C0D224B for ; Mon, 30 Nov 2015 11:34:03 +0000 (UTC) Received: from pxdev.xzpeter.org.com (vpn1-4-252.pek2.redhat.com [10.72.4.252]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id tAUBWRiw012457; Mon, 30 Nov 2015 06:33:54 -0500 From: Peter Xu To: qemu-devel@nongnu.org Date: Mon, 30 Nov 2015 19:32:16 +0800 Message-Id: <1448883140-20249-9-git-send-email-peterx@redhat.com> In-Reply-To: <1448883140-20249-1-git-send-email-peterx@redhat.com> References: <1448883140-20249-1-git-send-email-peterx@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 209.132.183.28 Cc: drjones@redhat.com, lersek@redhat.com, armbru@redhat.com, peterx@redhat.com, lcapitulino@redhat.com, famz@redhat.com, pbonzini@redhat.com Subject: [Qemu-devel] [PATCH v3 08/12] dump-guest-memory: add qmp event DUMP_COMPLETED X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org 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 --- 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": {} } 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 #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); } 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 +## +{ 'event': 'DUMP_COMPLETED' , + 'data': { '*error': 'str' } }