From nobody Sun May 19 03:12:49 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) client-ip=205.139.110.120; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1591813537; cv=none; d=zohomail.com; s=zohoarc; b=V1Wqs90eaHgucRRRrIP2rODuszWewBXx+hAk5GWJX0XF6N6zYTspRwieLSkdmuuSjApCTXxWrpUnMcDCeIXrqN4erOe0AR7kRsrk6WT0XYlcCIRn7gnOMLecPL4NO554tErfistqWVmYw6VF+/KHQUl5N+fKZwUwxIkqEZUd6CY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1591813537; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=1eMsBjpxZe8zZ8EEXrW1XGL1vxtDOBSgnRTrHyvTuv8=; b=L9aLZwKEW+987Bqx1BLMJFevGfqX3WC4ht/dGU6YsSEw6VAACEv9JMjFenqbyl/wYekSZWi7/YrzOA9z0Um5/+g9jDJqo0yFGstsrQhbIFlVeiDMKbZXF0s2Qwy2YprDtCw3eTmDsxVklTQeNZdiWFnOxsjK2HVeTkeQ/U5EQ3Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) by mx.zohomail.com with SMTPS id 15918135376561002.386545412914; Wed, 10 Jun 2020 11:25:37 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-400-b0m0lJ3GMceD37thUq53Ow-1; Wed, 10 Jun 2020 14:25:30 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id C5E781054F90; Wed, 10 Jun 2020 18:25:24 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id A64555D9F5; Wed, 10 Jun 2020 18:25:24 +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 74A03B34AA; Wed, 10 Jun 2020 18:25:24 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05AIPGiM022691 for ; Wed, 10 Jun 2020 14:25:16 -0400 Received: by smtp.corp.redhat.com (Postfix) id 470A28929A; Wed, 10 Jun 2020 18:25:16 +0000 (UTC) Received: from virval.usersys.redhat.com (unknown [10.40.193.140]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 8F7918928C for ; Wed, 10 Jun 2020 18:25:12 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id A37762455C4; Wed, 10 Jun 2020 20:24:32 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1591813536; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=1eMsBjpxZe8zZ8EEXrW1XGL1vxtDOBSgnRTrHyvTuv8=; b=VOU2ondapOmny3Z3CW/U1ruTJmBQ0PrGLVmdQoAgNiyZm0YsnRESdMAmMyPWwEX4P2x1TW FlNQnkK8bxX36nahlQSJtLsmz3a1CoD48QLt/ddKwErqzHGDvG4Bz/cemYSns/9XY+wh8Y gK87qs3QTBsMh51+IDqylF5nS0CHME8= X-MC-Unique: b0m0lJ3GMceD37thUq53Ow-1 From: Jiri Denemark To: libvir-list@redhat.com Subject: [libvirt PATCH 1/5] qemu: Probe for a few params supported by migrate-set-parameters Date: Wed, 10 Jun 2020 20:24:27 +0200 Message-Id: <2f0fd3209d20b0e49a1c5c686c54c558f1e0ec58.1591813394.git.jdenemar@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-loop: libvir-list@redhat.com 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" These parameters were originally set via dedicated commands which are now deprecated. We want to use migrate-set-parameters instead if possible. Signed-off-by: Jiri Denemark Reviewed-by: Peter Krempa --- src/qemu/qemu_capabilities.c | 8 ++++++++ src/qemu/qemu_capabilities.h | 5 +++++ tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml | 2 ++ tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml | 2 ++ tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml | 2 ++ tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml | 2 ++ tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml | 3 +++ tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml | 3 +++ tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml | 3 +++ tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml | 3 +++ tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml | 3 +++ tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml | 3 +++ tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml | 2 ++ tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml | 2 ++ tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml | 2 ++ tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml | 2 ++ tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 2 ++ tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml | 3 +++ tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml | 3 +++ tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml | 3 +++ tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml | 3 +++ tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml | 3 +++ tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml | 3 +++ tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml | 3 +++ tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml | 3 +++ tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 3 +++ tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml | 3 +++ tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml | 3 +++ tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml | 3 +++ tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml | 3 +++ tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml | 3 +++ tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 3 +++ tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 3 +++ tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 3 +++ tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 3 +++ tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 3 +++ tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 3 +++ tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 3 +++ tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 3 +++ tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 3 +++ 40 files changed, 118 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index aa90eab229..43438cb9fb 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -587,6 +587,11 @@ VIR_ENUM_IMPL(virQEMUCaps, "cpu.migratable", "query-cpu-model-expansion.migratable", "fw_cfg", + "migration-param.bandwidth", + "migration-param.downtime", + + /* 375 */ + "migration-param.cache-size", ); =20 =20 @@ -1508,6 +1513,9 @@ static struct virQEMUCapsStringFlags virQEMUCapsQMPSc= hemaQueries[] =3D { { "query-named-block-nodes/arg-type/flat", QEMU_CAPS_QMP_QUERY_NAMED_B= LOCK_NODES_FLAT }, { "blockdev-snapshot/$allow-write-only-overlay", QEMU_CAPS_BLOCKDEV_SN= APSHOT_ALLOW_WRITE_ONLY }, { "blockdev-add/arg-type/+file/aio/^io_uring", QEMU_CAPS_AIO_IO_URING = }, + { "migrate-set-parameters/arg-type/max-bandwidth", QEMU_CAPS_MIGRATION= _PARAM_BANDWIDTH }, + { "migrate-set-parameters/arg-type/downtime-limit", QEMU_CAPS_MIGRATIO= N_PARAM_DOWNTIME }, + { "migrate-set-parameters/arg-type/xbzrle-cache-size", QEMU_CAPS_MIGRA= TION_PARAM_CACHE_SIZE }, }; =20 typedef struct _virQEMUCapsObjectTypeProps virQEMUCapsObjectTypeProps; diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 0839c50bc4..9dbdc90395 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -568,6 +568,11 @@ typedef enum { /* virQEMUCapsFlags grouping marker for= syntax-check */ QEMU_CAPS_CPU_MIGRATABLE, /* -cpu ...,migratable=3Don|off */ QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION_MIGRATABLE, /* query-cpu-model-exp= ansion supports migratable:false */ QEMU_CAPS_FW_CFG, /* -fw_cfg command line option */ + QEMU_CAPS_MIGRATION_PARAM_BANDWIDTH, /* max-bandwidth field in migrate= -set-parameters */ + QEMU_CAPS_MIGRATION_PARAM_DOWNTIME, /* downtime-limit field in migrate= -set-parameters */ + + /* 375 */ + QEMU_CAPS_MIGRATION_PARAM_CACHE_SIZE, /* xbzrle-cache-size field in mi= grate-set-parameters */ =20 QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml b/tests/qem= ucapabilitiesdata/caps_2.10.0.aarch64.xml index 0848b1e18b..b0fcbc4218 100644 --- a/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml @@ -143,6 +143,8 @@ + + 2010000 0 61700287 diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml b/tests/qemuc= apabilitiesdata/caps_2.10.0.ppc64.xml index 82a37edd9c..edf01d2e2f 100644 --- a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml @@ -143,6 +143,8 @@ + + 2010000 0 42900287 diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml b/tests/qemuc= apabilitiesdata/caps_2.10.0.s390x.xml index 7a1ad3d173..98a3c0eec2 100644 --- a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml @@ -109,6 +109,8 @@ + + 2010000 0 39100287 diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml b/tests/qemu= capabilitiesdata/caps_2.10.0.x86_64.xml index cca369de2c..98b1a94349 100644 --- a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml @@ -187,6 +187,8 @@ + + 2010000 0 43100287 diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml b/tests/qemuc= apabilitiesdata/caps_2.11.0.s390x.xml index 1108aa46d0..cda180031a 100644 --- a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml @@ -116,6 +116,9 @@ + + + 2011000 0 39100288 diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml b/tests/qemu= capabilitiesdata/caps_2.11.0.x86_64.xml index 0dc0252c8e..3756411210 100644 --- a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml @@ -193,6 +193,9 @@ + + + 2011000 0 43100288 diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml b/tests/qem= ucapabilitiesdata/caps_2.12.0.aarch64.xml index 78070c0401..e9ec102ac0 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml @@ -159,6 +159,9 @@ + + + 2012000 0 61700289 diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml b/tests/qemuc= apabilitiesdata/caps_2.12.0.ppc64.xml index 45d3baf080..ce8b7383a4 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml @@ -160,6 +160,9 @@ + + + 2011090 0 42900289 diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml b/tests/qemuc= apabilitiesdata/caps_2.12.0.s390x.xml index f9b92d11f2..d334833145 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml @@ -128,6 +128,9 @@ + + + 2012000 0 39100289 diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml b/tests/qemu= capabilitiesdata/caps_2.12.0.x86_64.xml index 6387b5b77e..17b5e5e207 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml @@ -203,6 +203,9 @@ + + + 2011090 0 43100289 diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml b/tests/qemuca= pabilitiesdata/caps_2.8.0.s390x.xml index 083562f641..8c63aeec07 100644 --- a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml @@ -98,6 +98,8 @@ + + 2007093 0 39100246 diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_2.8.0.x86_64.xml index 5426e8a54b..4e022e2d84 100644 --- a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml @@ -163,6 +163,8 @@ + + 2008000 0 43100246 diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml b/tests/qemuca= pabilitiesdata/caps_2.9.0.ppc64.xml index fe49896e72..e72611e0a8 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml @@ -135,6 +135,8 @@ + + 2009000 0 42900247 diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml b/tests/qemuca= pabilitiesdata/caps_2.9.0.s390x.xml index 32861f67ba..b48dc98501 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml @@ -103,6 +103,8 @@ + + 2009000 0 39100247 diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_2.9.0.x86_64.xml index 66eed229b4..d7b2d0633d 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml @@ -181,6 +181,8 @@ + + 2009000 0 43100247 diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml b/tests/qemuca= pabilitiesdata/caps_3.0.0.ppc64.xml index 95f982eadf..bcc12e1741 100644 --- a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml @@ -162,6 +162,9 @@ + + + 2012050 0 42900239 diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml b/tests/qemu= capabilitiesdata/caps_3.0.0.riscv32.xml index 35d08c67ec..3e23e8d1f5 100644 --- a/tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml +++ b/tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml @@ -98,6 +98,9 @@ + + + 3000000 0 0 diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml b/tests/qemu= capabilitiesdata/caps_3.0.0.riscv64.xml index 42635c2e6d..1744b83d65 100644 --- a/tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml @@ -98,6 +98,9 @@ + + + 3000000 0 0 diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml b/tests/qemuca= pabilitiesdata/caps_3.0.0.s390x.xml index 96d8953496..1d2c3b16eb 100644 --- a/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml @@ -131,6 +131,9 @@ + + + 3000000 0 39100239 diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_3.0.0.x86_64.xml index 58863ffdc2..474c3608fa 100644 --- a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml @@ -209,6 +209,9 @@ + + + 3000000 0 43100239 diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml b/tests/qemuca= pabilitiesdata/caps_3.1.0.ppc64.xml index 3a21eb3aab..85b4f26702 100644 --- a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml @@ -167,6 +167,9 @@ + + + 3000091 0 42900240 diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_3.1.0.x86_64.xml index 4cb80d0b59..db7462e81a 100644 --- a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml @@ -212,6 +212,9 @@ + + + 3000092 0 43100240 diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml b/tests/qemu= capabilitiesdata/caps_4.0.0.aarch64.xml index b1047ca044..3407cdac54 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml @@ -173,6 +173,9 @@ + + + 4000000 0 61700240 diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml b/tests/qemuca= pabilitiesdata/caps_4.0.0.ppc64.xml index a4916c2279..f6930c7ec3 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml @@ -181,6 +181,9 @@ + + + 4000000 0 42900240 diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml b/tests/qemu= capabilitiesdata/caps_4.0.0.riscv32.xml index ec7c6b05e1..8632737463 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml +++ b/tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml @@ -174,6 +174,9 @@ + + + 4000000 0 0 diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml b/tests/qemu= capabilitiesdata/caps_4.0.0.riscv64.xml index d8924a10e8..80f1a146f5 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml @@ -174,6 +174,9 @@ + + + 4000000 0 0 diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml b/tests/qemuca= pabilitiesdata/caps_4.0.0.s390x.xml index 671c28cb82..7a6dafbdd2 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml @@ -139,6 +139,9 @@ + + + 4000000 0 39100240 diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_4.0.0.x86_64.xml index a8a0284829..a763fb371d 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml @@ -217,6 +217,9 @@ + + + 4000000 0 43100240 diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_4.1.0.x86_64.xml index 18d39faf90..b6a3f95b2c 100644 --- a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml @@ -223,6 +223,9 @@ + + + 4001000 0 43100241 diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml b/tests/qemu= capabilitiesdata/caps_4.2.0.aarch64.xml index 11d487eefe..e0562705e9 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml @@ -185,6 +185,9 @@ + + + 4001050 0 61700242 diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml b/tests/qemuca= pabilitiesdata/caps_4.2.0.ppc64.xml index 4d44cd4ac6..5edf71f98b 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml @@ -186,6 +186,9 @@ + + + 4001050 0 42900242 diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml b/tests/qemuca= pabilitiesdata/caps_4.2.0.s390x.xml index 6db5926aaa..75e26b2009 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml @@ -149,6 +149,9 @@ + + + 4002000 0 39100242 diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_4.2.0.x86_64.xml index d3592ea5c4..e8e03dd534 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml @@ -231,6 +231,9 @@ + + + 4002000 0 43100242 diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml b/tests/qemu= capabilitiesdata/caps_5.0.0.aarch64.xml index 7f993b38e1..1c4064b992 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml @@ -194,6 +194,9 @@ + + + 5000000 0 61700241 diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml b/tests/qemuca= pabilitiesdata/caps_5.0.0.ppc64.xml index 409120262e..1df9c0b54a 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml @@ -202,6 +202,9 @@ + + + 5000000 0 42900241 diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml b/tests/qemu= capabilitiesdata/caps_5.0.0.riscv64.xml index fb4956f144..d0a9605b64 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml @@ -190,6 +190,9 @@ + + + 5000000 0 0 diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_5.0.0.x86_64.xml index d4afc2e3f6..8afe4279b9 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml @@ -237,6 +237,9 @@ + + + 5000000 0 43100241 diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_5.1.0.x86_64.xml index f798a7c361..74f10ddcd3 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml @@ -237,6 +237,9 @@ + + + 5000050 0 43100242 --=20 2.27.0 From nobody Sun May 19 03:12:49 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) client-ip=205.139.110.120; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1591813528; cv=none; d=zohomail.com; s=zohoarc; b=IYT/6N5IuMTDfalQQJZRKtx1T8B2tcuVrMGHiUoHh8sFIk5sMy6+RHQGsWxXHl5g/8K5v5RPDhnQsIngQ3/DpGX1XruzQi8AEf8/xbMR3dtJpJwvK4z6WdvUW0C8cLrv0pwY+1HYrpVUhvc/g61EiGQ85HosDx6KNa8lqU+ACOo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1591813528; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=IWm8f9cxWFDboNfVwAb5m/MGCN4BNmsiY9xuKeMNroE=; b=CekAVJi2xbuPqoGniyv33yKiKvX6gyBE76vAisQsc/bDbDHMRnSrakhsj5A/cUCMhs80LzdIuo01iRHiB9q8ds24o5oCnWy2vcCe7SVJMOaoBqbcDB2ILrAYXp0C40O5J+8rf3xyfNF0tYcMz8YLrzMt2w1f8z7YF80QKZTmgFI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) by mx.zohomail.com with SMTPS id 159181352895447.55289834889345; Wed, 10 Jun 2020 11:25:28 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-384-OCB5KcsSOxOJOt2H0AhEJg-1; Wed, 10 Jun 2020 14:25:24 -0400 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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 896D8461; Wed, 10 Jun 2020 18:25:18 +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 4968C512FE; Wed, 10 Jun 2020 18:25:18 +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 B08A8180954D; Wed, 10 Jun 2020 18:25:17 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05AIPFhO022682 for ; Wed, 10 Jun 2020 14:25:15 -0400 Received: by smtp.corp.redhat.com (Postfix) id AEC021002382; Wed, 10 Jun 2020 18:25:15 +0000 (UTC) Received: from virval.usersys.redhat.com (unknown [10.40.193.140]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 542B910016E8 for ; Wed, 10 Jun 2020 18:25:12 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id A5B762455C6; Wed, 10 Jun 2020 20:24:32 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1591813527; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=IWm8f9cxWFDboNfVwAb5m/MGCN4BNmsiY9xuKeMNroE=; b=IiDyVLgKiQfNC222p6K2YVQYXXEJVOGthGssMLIKxv34RK2rPahfke+BdOgN7o2pD1qjVD GB/9Zgy3vvpDgi+RZ6LR5kiBYe+ymlN6g2P7ZQEczI9KIyHro8pqWhhHW9wwARKQmlzsif laCLxAtD4kf+NxUluzsTIuadhHsqU1k= X-MC-Unique: OCB5KcsSOxOJOt2H0AhEJg-1 From: Jiri Denemark To: libvir-list@redhat.com Subject: [libvirt PATCH 2/5] qemu: Avoid deprecated migrate_set_speed QMP command Date: Wed, 10 Jun 2020 20:24:28 +0200 Message-Id: <09a23318040ecf245d8fa9e49712a5c954559ee8.1591813394.git.jdenemar@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com 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: , 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-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" The same functionality can be achieved using migrate-set-parameters QMP command with max-bandwidth parameter. https://bugzilla.redhat.com/show_bug.cgi?id=3D1829545 Signed-off-by: Jiri Denemark Reviewed-by: Peter Krempa --- src/qemu/qemu_driver.c | 18 ++++++++++--- src/qemu/qemu_migration.c | 53 ++++++++++++++++++++++++++++++------- tests/qemumonitorjsontest.c | 2 +- 3 files changed, 58 insertions(+), 15 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 88517ba6a7..779f28dbbb 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -14047,6 +14047,7 @@ qemuDomainMigrateSetMaxSpeed(virDomainPtr dom, qemuDomainObjPrivatePtr priv; bool postcopy =3D !!(flags & VIR_DOMAIN_MIGRATE_MAX_SPEED_POSTCOPY); g_autoptr(qemuMigrationParams) migParams =3D NULL; + bool bwParam; unsigned long long max; int ret =3D -1; =20 @@ -14085,12 +14086,20 @@ qemuDomainMigrateSetMaxSpeed(virDomainPtr dom, =20 VIR_DEBUG("Setting migration bandwidth to %luMbs", bandwidth); =20 - if (postcopy) { + bwParam =3D virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATION_PARAM_B= ANDWIDTH); + + if (postcopy || bwParam) { + qemuMigrationParam param; + if (!(migParams =3D qemuMigrationParamsNew())) goto endjob; =20 - if (qemuMigrationParamsSetULL(migParams, - QEMU_MIGRATION_PARAM_MAX_POSTCOPY_BA= NDWIDTH, + if (postcopy) + param =3D QEMU_MIGRATION_PARAM_MAX_POSTCOPY_BANDWIDTH; + else + param =3D QEMU_MIGRATION_PARAM_MAX_BANDWIDTH; + + if (qemuMigrationParamsSetULL(migParams, param, bandwidth * 1024 * 1024) < 0) goto endjob; =20 @@ -14104,9 +14113,10 @@ qemuDomainMigrateSetMaxSpeed(virDomainPtr dom, rc =3D qemuMonitorSetMigrationSpeed(priv->mon, bandwidth); if (qemuDomainObjExitMonitor(driver, vm) < 0 || rc < 0) goto endjob; + } =20 + if (!postcopy) priv->migMaxBandwidth =3D bandwidth; - } =20 ret =3D 0; =20 diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 7ee5b5eda8..13427c1203 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -3495,6 +3495,7 @@ qemuMigrationSrcRun(virQEMUDriverPtr driver, unsigned int cookieFlags =3D 0; bool abort_on_error =3D !!(flags & VIR_MIGRATE_ABORT_ON_ERROR); bool events =3D virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATION_EVE= NT); + bool bwParam =3D virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATION_PA= RAM_BANDWIDTH); bool cancel =3D false; unsigned int waitFlags; virDomainDefPtr persistDef =3D NULL; @@ -3582,6 +3583,11 @@ qemuMigrationSrcRun(virQEMUDriverPtr driver, goto error; } =20 + if (bwParam && + qemuMigrationParamsSetULL(migParams, QEMU_MIGRATION_PARAM_MAX_BAND= WIDTH, + migrate_speed * 1024 * 1024) < 0) + goto error; + if (qemuMigrationParamsApply(driver, vm, QEMU_ASYNC_JOB_MIGRATION_OUT, migParams) < 0) goto error; @@ -3644,7 +3650,8 @@ qemuMigrationSrcRun(virQEMUDriverPtr driver, goto exit_monitor; } =20 - if (qemuMonitorSetMigrationSpeed(priv->mon, migrate_speed) < 0) + if (!bwParam && + qemuMonitorSetMigrationSpeed(priv->mon, migrate_speed) < 0) goto exit_monitor; =20 /* connect to the destination qemu if needed */ @@ -5299,24 +5306,41 @@ qemuMigrationSrcToFile(virQEMUDriverPtr driver, vir= DomainObjPtr vm, qemuDomainAsyncJob asyncJob) { qemuDomainObjPrivatePtr priv =3D vm->privateData; + bool bwParam =3D virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATION_PA= RAM_BANDWIDTH); int rc; int ret =3D -1; int pipeFD[2] =3D { -1, -1 }; unsigned long saveMigBandwidth =3D priv->migMaxBandwidth; char *errbuf =3D NULL; virErrorPtr orig_err =3D NULL; + g_autoptr(qemuMigrationParams) migParams =3D NULL; =20 if (qemuMigrationSetDBusVMState(driver, vm) < 0) return -1; =20 /* Increase migration bandwidth to unlimited since target is a file. * Failure to change migration speed is not fatal. */ - if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) =3D=3D 0) { - qemuMonitorSetMigrationSpeed(priv->mon, - QEMU_DOMAIN_MIG_BANDWIDTH_MAX); - priv->migMaxBandwidth =3D QEMU_DOMAIN_MIG_BANDWIDTH_MAX; - if (qemuDomainObjExitMonitor(driver, vm) < 0) + if (bwParam) { + if (!(migParams =3D qemuMigrationParamsNew())) + return -1; + + if (qemuMigrationParamsSetULL(migParams, + QEMU_MIGRATION_PARAM_MAX_BANDWIDTH, + QEMU_DOMAIN_MIG_BANDWIDTH_MAX * 1024= * 1024) < 0) + return -1; + + if (qemuMigrationParamsApply(driver, vm, asyncJob, migParams) < 0) return -1; + + priv->migMaxBandwidth =3D QEMU_DOMAIN_MIG_BANDWIDTH_MAX; + } else { + if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) =3D=3D 0)= { + qemuMonitorSetMigrationSpeed(priv->mon, + QEMU_DOMAIN_MIG_BANDWIDTH_MAX); + priv->migMaxBandwidth =3D QEMU_DOMAIN_MIG_BANDWIDTH_MAX; + if (qemuDomainObjExitMonitor(driver, vm) < 0) + return -1; + } } =20 if (!virDomainObjIsActive(vm)) { @@ -5397,11 +5421,20 @@ qemuMigrationSrcToFile(virQEMUDriverPtr driver, vir= DomainObjPtr vm, virErrorPreserveLast(&orig_err); =20 /* Restore max migration bandwidth */ - if (virDomainObjIsActive(vm) && - qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) =3D=3D 0) { - qemuMonitorSetMigrationSpeed(priv->mon, saveMigBandwidth); + if (virDomainObjIsActive(vm)) { + if (bwParam) { + if (qemuMigrationParamsSetULL(migParams, + QEMU_MIGRATION_PARAM_MAX_BANDWID= TH, + saveMigBandwidth * 1024 * 1024) = =3D=3D 0) + ignore_value(qemuMigrationParamsApply(driver, vm, asyncJob, + migParams)); + } else { + if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) =3D= =3D 0) { + qemuMonitorSetMigrationSpeed(priv->mon, saveMigBandwidth); + ignore_value(qemuDomainObjExitMonitor(driver, vm)); + } + } priv->migMaxBandwidth =3D saveMigBandwidth; - ignore_value(qemuDomainObjExitMonitor(driver, vm)); } =20 VIR_FORCE_CLOSE(pipeFD[0]); diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index 6d5a1d5fe2..e8a0508c53 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -3220,7 +3220,7 @@ mymain(void) DO_TEST_GEN_DEPRECATED(qemuMonitorJSONChangeMedia, true); DO_TEST_GEN(qemuMonitorJSONSaveVirtualMemory); DO_TEST_GEN(qemuMonitorJSONSavePhysicalMemory); - DO_TEST_GEN_DEPRECATED(qemuMonitorJSONSetMigrationSpeed, false); + DO_TEST_GEN_DEPRECATED(qemuMonitorJSONSetMigrationSpeed, true); DO_TEST_GEN_DEPRECATED(qemuMonitorJSONSetMigrationDowntime, false); DO_TEST_GEN(qemuMonitorJSONMigrate); DO_TEST_GEN(qemuMonitorJSONDump); --=20 2.27.0 From nobody Sun May 19 03:12:49 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) client-ip=205.139.110.120; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1591813528; cv=none; d=zohomail.com; s=zohoarc; b=FnwCWxjpAR4jxqyC/xXimEOfuXoVzWFIaeZPxiDrL4d0oe9ViXxncIXeS91rwTUekhyEyMlHELiX5ybmDq5TuBhAo1q1RVcTvLHNI2pliw2XSdAQs6B8jXjcJ5EyDtHzFLls3/ViaRJcUMSZ2xvV/viSInMHAJbLq677MzEJEJk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1591813528; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=/ymV2jZtCHjdP7ZrnO5cD4pt2DdQgZNNzfooK8kgxdc=; b=kfSv9zmrYxxNP3/bLfcM9bslFb38P8HUSwVAF5tBXUAnahlwoGiagDuOVz79REQjNrWIF8goaj+ZF6M+RtkZpaBrxF9bZBbPKB1dVjVKJJdNxbQr7sPUUKxR+NlNV0he2G6PjuN0u2PSJ5rbH9OBMT26RX8ILMHoR+wvmfopA9Q= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) by mx.zohomail.com with SMTPS id 1591813528023216.84514218709273; Wed, 10 Jun 2020 11:25:28 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-448-g1Dqez9sM6W1FceSAWVWzQ-1; Wed, 10 Jun 2020 14:25:24 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 643A0835BC2; Wed, 10 Jun 2020 18:25:18 +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 1AC625C1BD; Wed, 10 Jun 2020 18:25:18 +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 69E261809547; Wed, 10 Jun 2020 18:25:16 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05AIPF47022677 for ; Wed, 10 Jun 2020 14:25:15 -0400 Received: by smtp.corp.redhat.com (Postfix) id 7C7021A7CE; Wed, 10 Jun 2020 18:25:15 +0000 (UTC) Received: from virval.usersys.redhat.com (unknown [10.40.193.140]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 4E27719C71 for ; Wed, 10 Jun 2020 18:25:12 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id A78102455C7; Wed, 10 Jun 2020 20:24:32 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1591813526; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=/ymV2jZtCHjdP7ZrnO5cD4pt2DdQgZNNzfooK8kgxdc=; b=fuaPKigNqHUS8U7Xve4JrnPI3cGj7pYZ3VbJl6xlVjfCNCEmaQLzc1QhqkRyiRC0VI2w7l x6U8VSJijt90Mfnw7wQ9Bhfko5G9fhILN7BNHCSEdjkOJGm/Hrw3E6NzEGeJ0fQ0HYYKya 7kL0AvRIoBH14l7BvrDlTN57rdkVFD8= X-MC-Unique: g1Dqez9sM6W1FceSAWVWzQ-1 From: Jiri Denemark To: libvir-list@redhat.com Subject: [libvirt PATCH 3/5] qemu: Avoid deprecated migrate_set_downtime QMP command Date: Wed, 10 Jun 2020 20:24:29 +0200 Message-Id: <9a85d044621d4b998b8a577aa08e89e172acf7d1.1591813394.git.jdenemar@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-loop: libvir-list@redhat.com 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" The same functionality can be achieved using migrate-set-parameters QMP command with downtime-limit parameter. https://bugzilla.redhat.com/show_bug.cgi?id=3D1829543 Signed-off-by: Jiri Denemark Reviewed-by: Peter Krempa --- src/qemu/qemu_driver.c | 27 +++++++++++++++++++++++---- tests/qemumonitorjsontest.c | 2 +- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 779f28dbbb..c9a2081487 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -13853,7 +13853,9 @@ qemuDomainMigrateSetMaxDowntime(virDomainPtr dom, virQEMUDriverPtr driver =3D dom->conn->privateData; virDomainObjPtr vm; qemuDomainObjPrivatePtr priv; + g_autoptr(qemuMigrationParams) migParams =3D NULL; int ret =3D -1; + int rc; =20 virCheckFlags(0, -1); =20 @@ -13872,10 +13874,27 @@ qemuDomainMigrateSetMaxDowntime(virDomainPtr dom, priv =3D vm->privateData; =20 VIR_DEBUG("Setting migration downtime to %llums", downtime); - qemuDomainObjEnterMonitor(driver, vm); - ret =3D qemuMonitorSetMigrationDowntime(priv->mon, downtime); - if (qemuDomainObjExitMonitor(driver, vm) < 0) - ret =3D -1; + + if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATION_PARAM_DOWNTIME)= ) { + if (!(migParams =3D qemuMigrationParamsNew())) + goto endjob; + + if (qemuMigrationParamsSetULL(migParams, + QEMU_MIGRATION_PARAM_DOWNTIME_LIMIT, + downtime) < 0) + goto endjob; + + if (qemuMigrationParamsApply(driver, vm, QEMU_ASYNC_JOB_NONE, + migParams) < 0) + goto endjob; + } else { + qemuDomainObjEnterMonitor(driver, vm); + rc =3D qemuMonitorSetMigrationDowntime(priv->mon, downtime); + if (qemuDomainObjExitMonitor(driver, vm) < 0 || rc < 0) + goto endjob; + } + + ret =3D 0; =20 endjob: qemuDomainObjEndJob(driver, vm); diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index e8a0508c53..1c58c333d5 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -3221,7 +3221,7 @@ mymain(void) DO_TEST_GEN(qemuMonitorJSONSaveVirtualMemory); DO_TEST_GEN(qemuMonitorJSONSavePhysicalMemory); DO_TEST_GEN_DEPRECATED(qemuMonitorJSONSetMigrationSpeed, true); - DO_TEST_GEN_DEPRECATED(qemuMonitorJSONSetMigrationDowntime, false); + DO_TEST_GEN_DEPRECATED(qemuMonitorJSONSetMigrationDowntime, true); DO_TEST_GEN(qemuMonitorJSONMigrate); DO_TEST_GEN(qemuMonitorJSONDump); DO_TEST_GEN(qemuMonitorJSONGraphicsRelocate); --=20 2.27.0 From nobody Sun May 19 03:12:49 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) client-ip=205.139.110.61; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1591813537; cv=none; d=zohomail.com; s=zohoarc; b=ZoL/OX7d9afN2U9N20gy8fE3wvelzHu26eumrtz+U1vcz/xpEPrGmU5Fd72Zia77TQYFJLMYQgTiMvVdFS8zB/a0VehrfKsEf8BWekp3VszQQSbFhi9S9x2dGWqup5SI6FVw5n7B9vXr4zPe782m9OVJB8UdomrJnyx3VMPnicg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1591813537; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=jCqq4j0E7P89AMDvNvOOkydlP6I04hw+4G1pc8kE/BQ=; b=mZaQ7y9MpDuv+/G0joOT/WqN1xbzMy3hda2ysfSuOthI20pbY/fNoBhk1VZT54cUU6PYUdn8db2snWNv9SaxCOuzEv5WGBQmMMKeFLIcpEgk5R9neURUvMYtHZI/IYGRXqsV+OJjoWhY8D8Dq80G8ImwNdcfM9ENmGC09Wk12UE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-2.mimecast.com [205.139.110.61]) by mx.zohomail.com with SMTPS id 159181353787156.75731303849625; Wed, 10 Jun 2020 11:25:37 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-344-PlxSJnNYMqSzKb8kLxhmAA-1; Wed, 10 Jun 2020 14:25:34 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 0A7F2835BE5; Wed, 10 Jun 2020 18:25:27 +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 E08DD5D9FC; Wed, 10 Jun 2020 18:25:26 +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 AE86B180043A; Wed, 10 Jun 2020 18:25:26 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05AIPG9b022697 for ; Wed, 10 Jun 2020 14:25:16 -0400 Received: by smtp.corp.redhat.com (Postfix) id 6CA6A600F7; Wed, 10 Jun 2020 18:25:16 +0000 (UTC) Received: from virval.usersys.redhat.com (unknown [10.40.193.140]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3CEEA7B91C for ; Wed, 10 Jun 2020 18:25:12 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id A9A1E2455C8; Wed, 10 Jun 2020 20:24:32 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1591813536; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=jCqq4j0E7P89AMDvNvOOkydlP6I04hw+4G1pc8kE/BQ=; b=U7n6Wneeg90P15E65cEJJ4lN/w9owVLwmovTMIVvttWj4IoghrLecfBchJQDHQCvn0AQpy heIFEvCHBydZsHXWC1c8Hxjhc1iZf1Jm2oR/zQcJCSl+iX85ZNd6zm/Kfy2rTMEaCN9PjJ otCdq/5gp+rXz0GaVVYA2GJw9sqwmGE= X-MC-Unique: PlxSJnNYMqSzKb8kLxhmAA-1 From: Jiri Denemark To: libvir-list@redhat.com Subject: [libvirt PATCH 4/5] qemu: Avoid deprecated query-migrate-cache-size QMP command Date: Wed, 10 Jun 2020 20:24:30 +0200 Message-Id: <44fd537d6bc5e340ad20a3a25b4cb092c7a05beb.1591813394.git.jdenemar@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" The same functionality can be achieved using query-migrate-parameters QMP command and checking the xbzrle-cache-size parameter. https://bugzilla.redhat.com/show_bug.cgi?id=3D1829544 Signed-off-by: Jiri Denemark Reviewed-by: Peter Krempa --- src/qemu/qemu_driver.c | 21 +++++++++++++++++---- tests/qemumonitorjsontest.c | 2 +- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index c9a2081487..820a54ab2b 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -13967,7 +13967,9 @@ qemuDomainMigrateGetCompressionCache(virDomainPtr d= om, virQEMUDriverPtr driver =3D dom->conn->privateData; virDomainObjPtr vm; qemuDomainObjPrivatePtr priv; + g_autoptr(qemuMigrationParams) migParams =3D NULL; int ret =3D -1; + int rc; =20 virCheckFlags(0, -1); =20 @@ -13992,12 +13994,23 @@ qemuDomainMigrateGetCompressionCache(virDomainPtr= dom, goto endjob; } =20 - qemuDomainObjEnterMonitor(driver, vm); + if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATION_PARAM_CACHE_SIZ= E)) { + if (qemuMigrationParamsFetch(driver, vm, QEMU_ASYNC_JOB_NONE, + &migParams) < 0) + goto endjob; =20 - ret =3D qemuMonitorGetMigrationCacheSize(priv->mon, cacheSize); + if (qemuMigrationParamsGetULL(migParams, + QEMU_MIGRATION_PARAM_XBZRLE_CACHE_SI= ZE, + cacheSize) < 0) + goto endjob; + } else { + qemuDomainObjEnterMonitor(driver, vm); + rc =3D qemuMonitorGetMigrationCacheSize(priv->mon, cacheSize); + if (qemuDomainObjExitMonitor(driver, vm) < 0 || rc < 0) + goto endjob; + } =20 - if (qemuDomainObjExitMonitor(driver, vm) < 0) - ret =3D -1; + ret =3D 0; =20 endjob: qemuDomainObjEndJob(driver, vm); diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index 1c58c333d5..d2cd054dbf 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -1888,7 +1888,7 @@ testQemuMonitorJSONqemuMonitorJSONGetMigrationCacheSi= ze(const void *opaque) if (!(test =3D qemuMonitorTestNewSchema(xmlopt, data->schema))) return -1; =20 - qemuMonitorTestSkipDeprecatedValidation(test, false); + qemuMonitorTestSkipDeprecatedValidation(test, true); =20 if (qemuMonitorTestAddItem(test, "query-migrate-cache-size", "{" --=20 2.27.0 From nobody Sun May 19 03:12:49 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1591813914; cv=none; d=zohomail.com; s=zohoarc; b=ni/fbRs20myh2rLeS2a8zIAT0+0WVDew/OKbyTvYb8hve7yZqRTkKR+LcEm20l64JRu5yAovpAj54INnyAMtJOiJzZoZgSQdv7oA9LzKpU7bE6yG1BFiAoerlH/YIU5ShvgulGyy+zkqCs8L4PBo/1XWS14XMDTwuUUl+fZEU/I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1591813914; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=vGgjkXwYDhbolxkahZJiUX/Hw5xK11f+wTPtxnygoGI=; b=RM7gYf+rk3FuqT53x5X9Dn6z043z8gOi8/66wL5CvDYdhf4MWzDRV80KpMjSc15qMpOd/LbrHsGbs3AZbg9MTwQfboqkjk1jGvwrJPG+diR96lGCcq5pU7ycVw+zwbc1DImwZ8u32dDtQQT71t6qZNxiOdUdw/RzY0QfZrIMaxU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-1.mimecast.com [207.211.31.81]) by mx.zohomail.com with SMTPS id 159181391459387.29215689307773; Wed, 10 Jun 2020 11:31:54 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-55-FkbqGuelNb2-XjLmCpdiPQ-1; Wed, 10 Jun 2020 14:31:50 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 7ECEB1005513; Wed, 10 Jun 2020 18:31:44 +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 84C908929D; Wed, 10 Jun 2020 18:31:43 +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 0F3821809543; Wed, 10 Jun 2020 18:31:41 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05AIPKRD022731 for ; Wed, 10 Jun 2020 14:25:20 -0400 Received: by smtp.corp.redhat.com (Postfix) id 383647C3B9; Wed, 10 Jun 2020 18:25:20 +0000 (UTC) Received: from virval.usersys.redhat.com (unknown [10.40.193.140]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 09BBA7C3B7 for ; Wed, 10 Jun 2020 18:25:16 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id AB5392455C9; Wed, 10 Jun 2020 20:24:32 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1591813913; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=vGgjkXwYDhbolxkahZJiUX/Hw5xK11f+wTPtxnygoGI=; b=QxYH3hdDNgc0mDuTspUnPcTDIm/NJ/LegP8uHc7lCJ6gnZhB38jXnIjC9Pk6gnC7i2GU4F 6fq9u1G/SuyJJasvPEcWEZBHcIdp2GFCNaeP+Rp5zBmt8oIOXAqP36hqAfG/MTPtEUi2F/ z97VKloc+IQyDTANuQjO2sgkjyDKhdk= X-MC-Unique: FkbqGuelNb2-XjLmCpdiPQ-1 From: Jiri Denemark To: libvir-list@redhat.com Subject: [libvirt PATCH 5/5] qemu: Avoid deprecated migrate-set-cache-size QMP command Date: Wed, 10 Jun 2020 20:24:31 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" The same functionality can be achieved using migrate-set-parameters QMP command with xbzrle-cache-size parameter. https://bugzilla.redhat.com/show_bug.cgi?id=3D1845012 Signed-off-by: Jiri Denemark Reviewed-by: Peter Krempa --- src/qemu/qemu_driver.c | 26 +++++++++++++++++++++----- src/qemu/qemu_migration_params.c | 3 +-- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 820a54ab2b..460d6703f6 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -14028,7 +14028,9 @@ qemuDomainMigrateSetCompressionCache(virDomainPtr d= om, virQEMUDriverPtr driver =3D dom->conn->privateData; virDomainObjPtr vm; qemuDomainObjPrivatePtr priv; + g_autoptr(qemuMigrationParams) migParams =3D NULL; int ret =3D -1; + int rc; =20 virCheckFlags(0, -1); =20 @@ -14053,13 +14055,27 @@ qemuDomainMigrateSetCompressionCache(virDomainPtr= dom, goto endjob; } =20 - qemuDomainObjEnterMonitor(driver, vm); - VIR_DEBUG("Setting compression cache to %llu B", cacheSize); - ret =3D qemuMonitorSetMigrationCacheSize(priv->mon, cacheSize); + if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATION_PARAM_CACHE_SIZ= E)) { + if (!(migParams =3D qemuMigrationParamsNew())) + goto endjob; =20 - if (qemuDomainObjExitMonitor(driver, vm) < 0) - ret =3D -1; + if (qemuMigrationParamsSetULL(migParams, + QEMU_MIGRATION_PARAM_XBZRLE_CACHE_SI= ZE, + cacheSize) < 0) + goto endjob; + + if (qemuMigrationParamsApply(driver, vm, QEMU_ASYNC_JOB_NONE, + migParams) < 0) + goto endjob; + } else { + qemuDomainObjEnterMonitor(driver, vm); + rc =3D qemuMonitorSetMigrationCacheSize(priv->mon, cacheSize); + if (qemuDomainObjExitMonitor(driver, vm) < 0 || rc < 0) + goto endjob; + } + + ret =3D 0; =20 endjob: qemuDomainObjEndJob(driver, vm); diff --git a/src/qemu/qemu_migration_params.c b/src/qemu/qemu_migration_par= ams.c index 810199370f..4be1d93ba5 100644 --- a/src/qemu/qemu_migration_params.c +++ b/src/qemu/qemu_migration_params.c @@ -869,8 +869,7 @@ qemuMigrationParamsApply(virQEMUDriverPtr driver, * qemuMonitorSetMigrationParams to ignore this parameter. */ if (migParams->params[xbzrle].set && - (!priv->job.migParams || - !priv->job.migParams->params[xbzrle].set)) { + !virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATION_PARAM_CACHE_SI= ZE)) { if (qemuMonitorSetMigrationCacheSize(priv->mon, migParams->params[xbzrle].val= ue.ull) < 0) goto cleanup; --=20 2.27.0