[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [XEN PATCH for-4.15] libxl: Replace deprecated QMP command by "query-cpus-fast"
We use the deprecated QMP command "query-cpus" which will be remove in the upcoming QEMU 6.0 release. There's a replacement which is "query-cpus-fast", and have been available since QEMU 2.12 (April 2018). In order to been able to keep using recent version of QEMU, this patch replace the deprecated command by the newer version. And because we are in the "feature freeze" period, this patch is kept simple without fallback (which could have been used when "query-cpus-fast" wasn't available). Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> --- tools/libs/light/libxl_domain.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/tools/libs/light/libxl_domain.c b/tools/libs/light/libxl_domain.c index 5d4ec9071160..e32e1cd39fea 100644 --- a/tools/libs/light/libxl_domain.c +++ b/tools/libs/light/libxl_domain.c @@ -1740,23 +1740,23 @@ static int libxl__set_vcpuonline_xenstore(libxl__gc *gc, uint32_t domid, return rc; } -static int qmp_parse_query_cpus(libxl__gc *gc, - libxl_domid domid, - const libxl__json_object *response, - libxl_bitmap *const map) +static int qmp_parse_query_cpus_fast(libxl__gc *gc, + libxl_domid domid, + const libxl__json_object *response, + libxl_bitmap *const map) { int i; const libxl__json_object *cpu; libxl_bitmap_set_none(map); - /* Parse response to QMP command "query-cpus": - * [ { 'CPU': 'int',...} ] + /* Parse response to QMP command "query-cpus-fast": + * [ { 'cpu-index': 'int',...} ] */ for (i = 0; (cpu = libxl__json_array_get(response, i)); i++) { unsigned int cpu_index; const libxl__json_object *o; - o = libxl__json_map_get("CPU", cpu, JSON_INTEGER); + o = libxl__json_map_get("cpu-index", cpu, JSON_INTEGER); if (!o) { LOGD(ERROR, domid, "Failed to retrieve CPU index."); return ERROR_QEMU_API; @@ -1841,7 +1841,7 @@ int libxl_set_vcpuonline(libxl_ctx *ctx, uint32_t domid, LIBXL_QMP_CMD_TIMEOUT * 1000); if (rc) goto out; qmp->callback = set_vcpuonline_qmp_cpus_queried; - rc = libxl__ev_qmp_send(egc, qmp, "query-cpus", NULL); + rc = libxl__ev_qmp_send(egc, qmp, "query-cpus-fast", NULL); if (rc) goto out; return AO_INPROGRESS; default: @@ -1876,7 +1876,7 @@ static void set_vcpuonline_qmp_cpus_queried(libxl__egc *egc, if (rc) goto out; libxl_bitmap_alloc(CTX, ¤t_map, svos->info.vcpu_max_id + 1); - rc = qmp_parse_query_cpus(gc, qmp->domid, response, ¤t_map); + rc = qmp_parse_query_cpus_fast(gc, qmp->domid, response, ¤t_map); if (rc) goto out; libxl_bitmap_copy_alloc(CTX, final_map, svos->cpumap); @@ -2199,7 +2199,7 @@ static void retrieve_domain_configuration_lock_acquired( libxl_bitmap_alloc(CTX, &rdcs->qemuu_cpus, d_config->b_info.max_vcpus); rdcs->qmp.callback = retrieve_domain_configuration_cpu_queried; - rc = libxl__ev_qmp_send(egc, &rdcs->qmp, "query-cpus", NULL); + rc = libxl__ev_qmp_send(egc, &rdcs->qmp, "query-cpus-fast", NULL); if (rc) goto out; has_callback = true; } @@ -2220,7 +2220,7 @@ static void retrieve_domain_configuration_cpu_queried( if (rc) goto out; - rc = qmp_parse_query_cpus(gc, qmp->domid, response, &rdcs->qemuu_cpus); + rc = qmp_parse_query_cpus_fast(gc, qmp->domid, response, &rdcs->qemuu_cpus); out: retrieve_domain_configuration_end(egc, rdcs, rc); -- Anthony PERARD
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |