From nobody Wed May 14 13:14:02 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1523780581430944.6581619651852; Sun, 15 Apr 2018 01:23:01 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 0C65A8762E; Sun, 15 Apr 2018 08:23:00 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CF28C649C1; Sun, 15 Apr 2018 08:22:59 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 7887D180BAD7; Sun, 15 Apr 2018 08:22:59 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w3BEgHuj008908 for ; Wed, 11 Apr 2018 10:42:17 -0400 Received: by smtp.corp.redhat.com (Postfix) id 1C57E215CDCB; Wed, 11 Apr 2018 14:42:17 +0000 (UTC) Received: from virval.usersys.redhat.com (unknown [10.43.2.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id B7C81215CDC8 for ; Wed, 11 Apr 2018 14:42:16 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 0D1BE100B91; Wed, 11 Apr 2018 16:42:11 +0200 (CEST) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 11 Apr 2018 16:41:48 +0200 Message-Id: <2301db800aa4cc3911c9f3e2b73e7cd22b6753ab.1523456480.git.jdenemar@redhat.com> In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 58/73] qemu: Move qemuMonitorMigrationCaps enum X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Sun, 15 Apr 2018 08:23:00 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Since the monitor code no longer needs to see this enum, we move it to the place where migration parameters are defined and drop the "monitor" reference from the name. Signed-off-by: Jiri Denemark Reviewed-by: J=EF=BF=BDn Tomko --- src/qemu/qemu_driver.c | 4 +- src/qemu/qemu_migration_params.c | 65 +++++++++++++++++++------------- src/qemu/qemu_migration_params.h | 15 +++++++- src/qemu/qemu_monitor.c | 5 --- src/qemu/qemu_monitor.h | 14 ------- tests/qemumonitorjsontest.c | 7 ++-- 6 files changed, 58 insertions(+), 52 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 761f84ee7f..0cf08759c6 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -13627,7 +13627,7 @@ qemuDomainMigrateGetCompressionCache(virDomainPtr d= om, =20 priv =3D vm->privateData; =20 - if (!qemuMigrationCapsGet(vm, QEMU_MONITOR_MIGRATION_CAPS_XBZRLE)) { + if (!qemuMigrationCapsGet(vm, QEMU_MIGRATION_CAP_XBZRLE)) { virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", _("Compressed migration is not supported by " "QEMU binary")); @@ -13678,7 +13678,7 @@ qemuDomainMigrateSetCompressionCache(virDomainPtr d= om, =20 priv =3D vm->privateData; =20 - if (!qemuMigrationCapsGet(vm, QEMU_MONITOR_MIGRATION_CAPS_XBZRLE)) { + if (!qemuMigrationCapsGet(vm, QEMU_MIGRATION_CAP_XBZRLE)) { virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", _("Compressed migration is not supported by " "QEMU binary")); diff --git a/src/qemu/qemu_migration_params.c b/src/qemu/qemu_migration_par= ams.c index 548bb1c0dd..2723288dfc 100644 --- a/src/qemu/qemu_migration_params.c +++ b/src/qemu/qemu_migration_params.c @@ -76,6 +76,17 @@ VIR_ENUM_IMPL(qemuMigrationCompressMethod, QEMU_MIGRATIO= N_COMPRESS_LAST, "mt", ); =20 +VIR_ENUM_IMPL(qemuMigrationCapability, QEMU_MIGRATION_CAP_LAST, + "xbzrle", + "auto-converge", + "rdma-pin-all", + "events", + "postcopy-ram", + "compress", + "pause-before-switchover", +); + + VIR_ENUM_DECL(qemuMigrationParam) VIR_ENUM_IMPL(qemuMigrationParam, QEMU_MIGRATION_PARAM_LAST, "compress-level", @@ -93,36 +104,36 @@ VIR_ENUM_IMPL(qemuMigrationParam, QEMU_MIGRATION_PARAM= _LAST, =20 typedef struct _qemuMigrationParamsAlwaysOnItem qemuMigrationParamsAlwaysO= nItem; struct _qemuMigrationParamsAlwaysOnItem { - qemuMonitorMigrationCaps cap; + qemuMigrationCapability cap; int party; /* bit-wise OR of qemuMigrationParty */ }; =20 typedef struct _qemuMigrationParamsFlagMapItem qemuMigrationParamsFlagMapI= tem; struct _qemuMigrationParamsFlagMapItem { virDomainMigrateFlags flag; - qemuMonitorMigrationCaps cap; + qemuMigrationCapability cap; int party; /* bit-wise OR of qemuMigrationParty */ }; =20 /* Migration capabilities which should always be enabled as long as they * are supported by QEMU. */ static const qemuMigrationParamsAlwaysOnItem qemuMigrationParamsAlwaysOn[]= =3D { - {QEMU_MONITOR_MIGRATION_CAPS_PAUSE_BEFORE_SWITCHOVER, + {QEMU_MIGRATION_CAP_PAUSE_BEFORE_SWITCHOVER, QEMU_MIGRATION_SOURCE}, }; =20 -/* Translation from virDomainMigrateFlags to qemuMonitorMigrationCaps. */ +/* Translation from virDomainMigrateFlags to qemuMigrationCapability. */ static const qemuMigrationParamsFlagMapItem qemuMigrationParamsFlagMap[] = =3D { {VIR_MIGRATE_RDMA_PIN_ALL, - QEMU_MONITOR_MIGRATION_CAPS_RDMA_PIN_ALL, + QEMU_MIGRATION_CAP_RDMA_PIN_ALL, QEMU_MIGRATION_SOURCE | QEMU_MIGRATION_DESTINATION}, =20 {VIR_MIGRATE_AUTO_CONVERGE, - QEMU_MONITOR_MIGRATION_CAPS_AUTO_CONVERGE, + QEMU_MIGRATION_CAP_AUTO_CONVERGE, QEMU_MIGRATION_SOURCE}, =20 {VIR_MIGRATE_POSTCOPY, - QEMU_MONITOR_MIGRATION_CAPS_POSTCOPY, + QEMU_MIGRATION_CAP_POSTCOPY, QEMU_MIGRATION_SOURCE | QEMU_MIGRATION_DESTINATION}, }; =20 @@ -150,7 +161,7 @@ qemuMigrationParamsNew(void) if (VIR_ALLOC(params) < 0) return NULL; =20 - params->caps =3D virBitmapNew(QEMU_MONITOR_MIGRATION_CAPS_LAST); + params->caps =3D virBitmapNew(QEMU_MIGRATION_CAP_LAST); if (!params->caps) goto error; =20 @@ -289,7 +300,7 @@ qemuMigrationParamsSetCompression(virTypedParameterPtr = params, { size_t i; int method; - qemuMonitorMigrationCaps cap; + qemuMigrationCapability cap; =20 for (i =3D 0; i < nparams; i++) { if (STRNEQ(params[i].field, VIR_MIGRATE_PARAM_COMPRESSION)) @@ -314,11 +325,11 @@ qemuMigrationParamsSetCompression(virTypedParameterPt= r params, =20 switch ((qemuMigrationCompressMethod) method) { case QEMU_MIGRATION_COMPRESS_XBZRLE: - cap =3D QEMU_MONITOR_MIGRATION_CAPS_XBZRLE; + cap =3D QEMU_MIGRATION_CAP_XBZRLE; break; =20 case QEMU_MIGRATION_COMPRESS_MT: - cap =3D QEMU_MONITOR_MIGRATION_CAPS_COMPRESS; + cap =3D QEMU_MIGRATION_CAP_COMPRESS; break; =20 case QEMU_MIGRATION_COMPRESS_LAST: @@ -371,7 +382,7 @@ qemuMigrationParamsSetCompression(virTypedParameterPtr = params, if (!migParams->compMethods && (flags & VIR_MIGRATE_COMPRESSED)) { migParams->compMethods =3D 1ULL << QEMU_MIGRATION_COMPRESS_XBZRLE; ignore_value(virBitmapSetBit(migParams->caps, - QEMU_MONITOR_MIGRATION_CAPS_XBZRLE)); + QEMU_MIGRATION_CAP_XBZRLE)); } =20 return 0; @@ -394,12 +405,12 @@ qemuMigrationParamsFromFlags(virTypedParameterPtr par= ams, return NULL; =20 for (i =3D 0; i < ARRAY_CARDINALITY(qemuMigrationParamsFlagMap); i++) { - qemuMonitorMigrationCaps cap =3D qemuMigrationParamsFlagMap[i].cap; + qemuMigrationCapability cap =3D qemuMigrationParamsFlagMap[i].cap; =20 if (qemuMigrationParamsFlagMap[i].party & party && flags & qemuMigrationParamsFlagMap[i].flag) { VIR_DEBUG("Enabling migration capability '%s'", - qemuMonitorMigrationCapsTypeToString(cap)); + qemuMigrationCapabilityTypeToString(cap)); ignore_value(virBitmapSetBit(migParams->caps, cap)); } } @@ -597,13 +608,13 @@ qemuMigrationCapsToJSON(virBitmapPtr caps, { virJSONValuePtr json =3D NULL; virJSONValuePtr cap =3D NULL; - qemuMonitorMigrationCaps bit; + qemuMigrationCapability bit; const char *name; =20 if (!(json =3D virJSONValueNewArray())) return NULL; =20 - for (bit =3D 0; bit < QEMU_MONITOR_MIGRATION_CAPS_LAST; bit++) { + for (bit =3D 0; bit < QEMU_MIGRATION_CAP_LAST; bit++) { bool supported =3D false; bool state =3D false; =20 @@ -616,7 +627,7 @@ qemuMigrationCapsToJSON(virBitmapPtr caps, if (!(cap =3D virJSONValueNewObject())) goto error; =20 - name =3D qemuMonitorMigrationCapsTypeToString(bit); + name =3D qemuMigrationCapabilityTypeToString(bit); if (virJSONValueObjectAppendString(cap, "capability", name) < 0) goto error; =20 @@ -947,7 +958,7 @@ qemuMigrationParamsCheck(virQEMUDriverPtr driver, qemuMigrationParamsPtr migParams) { qemuDomainObjPrivatePtr priv =3D vm->privateData; - qemuMonitorMigrationCaps cap; + qemuMigrationCapability cap; qemuMigrationParty party; size_t i; =20 @@ -956,7 +967,7 @@ qemuMigrationParamsCheck(virQEMUDriverPtr driver, else party =3D QEMU_MIGRATION_DESTINATION; =20 - for (cap =3D 0; cap < QEMU_MONITOR_MIGRATION_CAPS_LAST; cap++) { + for (cap =3D 0; cap < QEMU_MIGRATION_CAP_LAST; cap++) { bool state =3D false; =20 ignore_value(virBitmapGetBit(migParams->caps, cap, &state)); @@ -964,7 +975,7 @@ qemuMigrationParamsCheck(virQEMUDriverPtr driver, if (state && !qemuMigrationCapsGet(vm, cap)) { virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, _("Migration option '%s' is not supported by QE= MU binary"), - qemuMonitorMigrationCapsTypeToString(cap)); + qemuMigrationCapabilityTypeToString(cap)); return -1; } } @@ -975,7 +986,7 @@ qemuMigrationParamsCheck(virQEMUDriverPtr driver, if (qemuMigrationParamsAlwaysOn[i].party & party && qemuMigrationCapsGet(vm, cap)) { VIR_DEBUG("Enabling migration capability '%s'", - qemuMonitorMigrationCapsTypeToString(cap)); + qemuMigrationCapabilityTypeToString(cap)); ignore_value(virBitmapSetBit(migParams->caps, cap)); } } @@ -1047,12 +1058,12 @@ qemuMigrationCapsCheck(virQEMUDriverPtr driver, goto cleanup; } =20 - priv->migrationCaps =3D virBitmapNew(QEMU_MONITOR_MIGRATION_CAPS_LAST); + priv->migrationCaps =3D virBitmapNew(QEMU_MIGRATION_CAP_LAST); if (!priv->migrationCaps) goto cleanup; =20 for (capStr =3D caps; *capStr; capStr++) { - int cap =3D qemuMonitorMigrationCapsTypeFromString(*capStr); + int cap =3D qemuMigrationCapabilityTypeFromString(*capStr); =20 if (cap < 0) { VIR_DEBUG("Unknown migration capability: '%s'", *capStr); @@ -1063,11 +1074,11 @@ qemuMigrationCapsCheck(virQEMUDriverPtr driver, } =20 if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATION_EVENT)) { - migEvent =3D virBitmapNew(QEMU_MONITOR_MIGRATION_CAPS_LAST); + migEvent =3D virBitmapNew(QEMU_MIGRATION_CAP_LAST); if (!migEvent) goto cleanup; =20 - ignore_value(virBitmapSetBit(migEvent, QEMU_MONITOR_MIGRATION_CAPS= _EVENTS)); + ignore_value(virBitmapSetBit(migEvent, QEMU_MIGRATION_CAP_EVENTS)); =20 if (!(json =3D qemuMigrationCapsToJSON(migEvent, migEvent))) goto cleanup; @@ -1093,7 +1104,7 @@ qemuMigrationCapsCheck(virQEMUDriverPtr driver, * else. */ ignore_value(virBitmapClearBit(priv->migrationCaps, - QEMU_MONITOR_MIGRATION_CAPS_EVENTS)); + QEMU_MIGRATION_CAP_EVENTS)); =20 ret =3D 0; =20 @@ -1106,7 +1117,7 @@ qemuMigrationCapsCheck(virQEMUDriverPtr driver, =20 bool qemuMigrationCapsGet(virDomainObjPtr vm, - qemuMonitorMigrationCaps cap) + qemuMigrationCapability cap) { qemuDomainObjPrivatePtr priv =3D vm->privateData; bool enabled =3D false; diff --git a/src/qemu/qemu_migration_params.h b/src/qemu/qemu_migration_par= ams.h index 76b26a50d4..ceba0eb68a 100644 --- a/src/qemu/qemu_migration_params.h +++ b/src/qemu/qemu_migration_params.h @@ -27,6 +27,19 @@ # include "qemu_monitor.h" # include "qemu_conf.h" =20 +typedef enum { + QEMU_MIGRATION_CAP_XBZRLE, + QEMU_MIGRATION_CAP_AUTO_CONVERGE, + QEMU_MIGRATION_CAP_RDMA_PIN_ALL, + QEMU_MIGRATION_CAP_EVENTS, + QEMU_MIGRATION_CAP_POSTCOPY, + QEMU_MIGRATION_CAP_COMPRESS, + QEMU_MIGRATION_CAP_PAUSE_BEFORE_SWITCHOVER, + + QEMU_MIGRATION_CAP_LAST +} qemuMigrationCapability; +VIR_ENUM_DECL(qemuMigrationCapability) + typedef enum { QEMU_MIGRATION_PARAM_COMPRESS_LEVEL, QEMU_MIGRATION_PARAM_COMPRESS_THREADS, @@ -122,6 +135,6 @@ qemuMigrationCapsCheck(virQEMUDriverPtr driver, =20 bool qemuMigrationCapsGet(virDomainObjPtr vm, - qemuMonitorMigrationCaps cap); + qemuMigrationCapability cap); =20 #endif /* __QEMU_MIGRATION_PARAMS_H__ */ diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 13d885ffc5..fe0e0431d9 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -185,11 +185,6 @@ VIR_ENUM_IMPL(qemuMonitorMigrationStatus, "completed", "failed", "cancelling", "cancelled") =20 -VIR_ENUM_IMPL(qemuMonitorMigrationCaps, - QEMU_MONITOR_MIGRATION_CAPS_LAST, - "xbzrle", "auto-converge", "rdma-pin-all", "events", - "postcopy-ram", "compress", "pause-before-switchover") - VIR_ENUM_IMPL(qemuMonitorVMStatus, QEMU_MONITOR_VM_STATUS_LAST, "debug", "inmigrate", "internal-error", "io-error", "paused", diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 4ab0206713..c272f98121 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -711,20 +711,6 @@ int qemuMonitorGetMigrationStats(qemuMonitorPtr mon, qemuMonitorMigrationStatsPtr stats, char **error); =20 -typedef enum { - QEMU_MONITOR_MIGRATION_CAPS_XBZRLE, - QEMU_MONITOR_MIGRATION_CAPS_AUTO_CONVERGE, - QEMU_MONITOR_MIGRATION_CAPS_RDMA_PIN_ALL, - QEMU_MONITOR_MIGRATION_CAPS_EVENTS, - QEMU_MONITOR_MIGRATION_CAPS_POSTCOPY, - QEMU_MONITOR_MIGRATION_CAPS_COMPRESS, - QEMU_MONITOR_MIGRATION_CAPS_PAUSE_BEFORE_SWITCHOVER, - - QEMU_MONITOR_MIGRATION_CAPS_LAST -} qemuMonitorMigrationCaps; - -VIR_ENUM_DECL(qemuMonitorMigrationCaps); - int qemuMonitorGetMigrationCapabilities(qemuMonitorPtr mon, char ***capabilities); int qemuMonitorSetMigrationCapabilities(qemuMonitorPtr mon, diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index 697126f298..44a7a2d444 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -32,6 +32,7 @@ #include "virstring.h" #include "cpu/cpu.h" #include "qemu/qemu_monitor.h" +#include "qemu/qemu_migration_params.h" #include "qemu/qemu_migration_paramspriv.h" =20 #define VIR_FROM_THIS VIR_FROM_NONE @@ -2166,18 +2167,18 @@ testQemuMonitorJSONqemuMonitorJSONGetMigrationCapab= ilities(const void *data) &caps) < 0) goto cleanup; =20 - cap =3D qemuMonitorMigrationCapsTypeToString(QEMU_MONITOR_MIGRATION_CA= PS_XBZRLE); + cap =3D qemuMigrationCapabilityTypeToString(QEMU_MIGRATION_CAP_XBZRLE); if (!virStringListHasString((const char **) caps, cap)) { virReportError(VIR_ERR_INTERNAL_ERROR, "Expected capability %s is missing", cap); goto cleanup; } =20 - bitmap =3D virBitmapNew(QEMU_MONITOR_MIGRATION_CAPS_LAST); + bitmap =3D virBitmapNew(QEMU_MIGRATION_CAP_LAST); if (!bitmap) goto cleanup; =20 - ignore_value(virBitmapSetBit(bitmap, QEMU_MONITOR_MIGRATION_CAPS_XBZRL= E)); + ignore_value(virBitmapSetBit(bitmap, QEMU_MIGRATION_CAP_XBZRLE)); if (!(json =3D qemuMigrationCapsToJSON(bitmap, bitmap))) goto cleanup; =20 --=20 2.17.0 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list