dump: add 'query-dump-guest-memory-capability' command
'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 <qiaonuohan@cn.fujitsu.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
This commit is contained in:
parent
4ab23a9182
commit
7d6dc7f30c
33
dump.c
33
dump.c
@ -1791,3 +1791,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;
|
||||
}
|
||||
|
@ -2861,6 +2861,30 @@
|
||||
'data': { 'paging': 'bool', 'protocol': 'str', '*begin': 'int',
|
||||
'*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' }
|
||||
|
||||
##
|
||||
# @netdev_add:
|
||||
#
|
||||
|
@ -826,6 +826,26 @@ Notes:
|
||||
|
||||
(1) All boolean arguments default to false
|
||||
|
||||
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
|
||||
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user