[PULL,v4,30/43] qmp: Add deprecation information to query-machines
diff mbox series

Message ID 20190703180726.31267-31-ehabkost@redhat.com
State New
Headers show
Series
  • [PULL,v4,01/43] hw/boards: Add struct CpuTopology to MachineState
Related show

Commit Message

Eduardo Habkost July 3, 2019, 6:07 p.m. UTC
Export machine type deprecation status through the query-machines
QMP command.  With this, libvirt and management software will be
able to show this information to users and/or suggest changes to
VM configuration to avoid deprecated machines.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Message-Id: <20190608233447.27970-2-ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 qapi/misc.json | 7 ++++++-
 vl.c           | 1 +
 2 files changed, 7 insertions(+), 1 deletion(-)

Patch
diff mbox series

diff --git a/qapi/misc.json b/qapi/misc.json
index ccd56c9191..733ffefa40 100644
--- a/qapi/misc.json
+++ b/qapi/misc.json
@@ -2017,12 +2017,17 @@ 
 # @numa-mem-supported: true if '-numa node,mem' option is supported by
 #                      the machine type and false otherwise (since 4.1)
 #
+# @deprecated: if true, the machine type is deprecated and may be removed
+#              in future versions of QEMU according to the QEMU deprecation
+#              policy (since 4.1.0)
+#
 # Since: 1.2.0
 ##
 { 'struct': 'MachineInfo',
   'data': { 'name': 'str', '*alias': 'str',
             '*is-default': 'bool', 'cpu-max': 'int',
-            'hotpluggable-cpus': 'bool', 'numa-mem-supported': 'bool'} }
+            'hotpluggable-cpus': 'bool',  'numa-mem-supported': 'bool',
+            'deprecated': 'bool' } }
 
 ##
 # @query-machines:
diff --git a/vl.c b/vl.c
index 23fe3e753b..28cc6c4c93 100644
--- a/vl.c
+++ b/vl.c
@@ -1362,6 +1362,7 @@  MachineInfoList *qmp_query_machines(Error **errp)
         info->cpu_max = !mc->max_cpus ? 1 : mc->max_cpus;
         info->hotpluggable_cpus = mc->has_hotpluggable_cpus;
         info->numa_mem_supported = mc->numa_mem_supported;
+        info->deprecated = !!mc->deprecation_reason;
 
         entry = g_malloc0(sizeof(*entry));
         entry->value = info;