From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60620) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WDb8k-0000Y1-1T for qemu-devel@nongnu.org; Wed, 12 Feb 2014 09:50:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WDb8d-00023A-S1 for qemu-devel@nongnu.org; Wed, 12 Feb 2014 09:50:17 -0500 Received: from mx1.redhat.com ([209.132.183.28]:20629) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WDb8d-00022x-KJ for qemu-devel@nongnu.org; Wed, 12 Feb 2014 09:50:11 -0500 Date: Wed, 12 Feb 2014 09:49:54 -0500 From: Luiz Capitulino Message-ID: <20140212094954.4a931b4a@redhat.com> In-Reply-To: <52FB15EB.2080401@cn.fujitsu.com> References: <1390890126-17377-1-git-send-email-qiaonuohan@cn.fujitsu.com> <1390890126-17377-14-git-send-email-qiaonuohan@cn.fujitsu.com> <20140210141048.796e9c91@redhat.com> <52F94C84.20105@redhat.com> <52F95C46.3030701@redhat.com> <52F9611D.7000808@redhat.com> <52F9620D.5040204@redhat.com> <20140210214721.2df300e4@redhat.com> <52F9CF10.50806@redhat.com> <52FA24F1.20408@redhat.com> <52FAE6E2.8050703@cn.fujitsu.com> <52FAEA8B.7080500@redhat.com> <52FB15EB.2080401@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v10 13/13] dump: add 'query-dump-guest-memory-capability' command List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Qiao Nuohan Cc: stefanha@gmail.com, qemu-devel@nongnu.org, Laszlo Ersek , kumagai-atsushi@mxc.nes.nec.co.jp, Paolo Bonzini , afaerber@suse.de, anderson@redhat.com On Wed, 12 Feb 2014 14:34:19 +0800 Qiao Nuohan wrote: > 'query-dump-guest-memory-capability' is used to query the available formats for > 'dump-guest-memory'. The output of the command will be like: > > -> { "execute": "query-dump-guest-memory-capability" } > <- { "return": { "formats": > ["elf", "kdump-zlib", "kdump-lzo", "kdump-snappy"] } > > Signed-off-by: Qiao Nuohan The new command looks good to me, but the patch itself is broken. It doesn't apply and I could identify at least one breakage below... > --- > dump.c | 33 +++++++++++++++++++++++++++++++++ > qapi-schema.json | 23 +++++++++++++++++++++++ > qmp-commands.hx | 20 ++++++++++++++++++++ > 3 files changed, 76 insertions(+), 0 deletions(-) > > diff --git a/dump.c b/dump.c > index 2ebbb23..3a8d55e 100644 > --- a/dump.c > +++ b/dump.c > @@ -1788,3 +1788,36 @@ void qmp_dump_guest_memory(bool paging, const char *file, > bool has_begin, > > g_free(s); > } > + > +DumpGuestMemoryCapability *qmp_query_dump_guest_memory_capability(Error **errp) > +{ > + DumpGuestMemoryFormatList *item; > + DumpGuestMemoryCapability *cap = > + g_malloc0(sizeof(DumpGuestMemoryCapability)); > + > + /* elf is always available */ > + item = g_malloc0(sizeof(DumpGuestMemoryFormatList)); > + cap->formats = item; > + item->value = DUMP_GUEST_MEMORY_FORMAT_ELF; > + > + /* kdump-zlib is always available */ > + item->next = g_malloc0(sizeof(DumpGuestMemoryFormatList)); > + item = item->next; > + item->value = DUMP_GUEST_MEMORY_FORMAT_KDUMP_ZLIB; > + > + /* add new item if kdump-lzo is available */ > +#ifdef CONFIG_LZO > + item->next = g_malloc0(sizeof(DumpGuestMemoryFormatList)); > + item = item->next; > + item->value = DUMP_GUEST_MEMORY_FORMAT_KDUMP_LZO; > +#endif > + > + /* add new item if kdump-snappy is available */ > +#ifdef CONFIG_SNAPPY > + item->next = g_malloc0(sizeof(DumpGuestMemoryFormatList)); > + item = item->next; > + item->value = DUMP_GUEST_MEMORY_FORMAT_KDUMP_SNAPPY; > +#endif > + > + return cap; > +} > diff --git a/qapi-schema.json b/qapi-schema.json > index 7f62007..a097e6c 100644 > --- a/qapi-schema.json > +++ b/qapi-schema.json > @@ -2783,6 +2783,29 @@ > '*length': 'int', '*format': 'DumpGuestMemoryFormat' } } > > ## > +# @DumpGuestMemoryCapability: > +# > +# A list of the available formats for dump-guest-memory > +# > +# Since: 2.0 > +## > +{ 'type': 'DumpGuestMemoryCapability', > + 'data': { > + 'formats': ['DumpGuestMemoryFormat'] } } > + > +## > +# @query-dump-guest-memory-capability: > +# > +# Returns the available formats for dump-guest-memory > +# > +# Returns: A @DumpGuestMemoryCapability object listing available formats for > +# dump-guest-memory > +# > +# Since: 2.0 > +## > +{ 'command': 'query-dump-guest-memory-capability', 'returns': > 'DumpGuestMemoryCapability' } Here. > + > +## > # @netdev_add: > # > # Add a network backend. > diff --git a/qmp-commands.hx b/qmp-commands.hx > index 019dde6..029cb3d 100644 > --- a/qmp-commands.hx > +++ b/qmp-commands.hx > @@ -829,6 +829,26 @@ Notes: > EQMP > > { > + .name = "query-dump-guest-memory-capability", > + .args_type = "", > + .mhandler.cmd_new = qmp_marshal_input_query_dump_guest_memory_capability, > + }, > + > +SQMP > +query-dump-guest-memory-capability > +---------- > + > +Show available formats for 'dump-guest-memory' > + > +Example: > + > +-> { "execute": "query-dump-guest-memory-capability" } > +<- { "return": { "formats": > + ["elf", "kdump-zlib", "kdump-lzo", "kdump-snappy"] } > + > +EQMP > + > + { > .name = "netdev_add", > .args_type = "netdev:O", > .mhandler.cmd_new = qmp_netdev_add,