From 0ba8d4ea1cc34230356cc446dfa8d1cb52cbd2f3 Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Fri, 29 May 2020 05:54:05 -0400 Subject: [PATCH 23/42] s390x: protvirt: Add migration blocker RH-Author: Thomas Huth Message-id: <20200529055420.16855-24-thuth@redhat.com> Patchwork-id: 97043 O-Subject: [RHEL-8.3.0 qemu-kvm PATCH v2 23/38] s390x: protvirt: Add migration blocker Bugzilla: 1828317 RH-Acked-by: Claudio Imbrenda RH-Acked-by: Cornelia Huck RH-Acked-by: David Hildenbrand From: Janosch Frank Migration is not yet supported. Signed-off-by: Janosch Frank Reviewed-by: David Hildenbrand Reviewed-by: Christian Borntraeger Reviewed-by: Claudio Imbrenda Reviewed-by: Cornelia Huck Message-Id: <20200319131921.2367-5-frankja@linux.ibm.com> Signed-off-by: Cornelia Huck (cherry picked from commit 0141e1b47707d90f5bd9d252da064ebdaca698a6) Signed-off-by: Danilo C. L. de Paula --- hw/s390x/s390-virtio-ccw.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c index 82da1d9ab5..dbd5125232 100644 --- a/hw/s390x/s390-virtio-ccw.c +++ b/hw/s390x/s390-virtio-ccw.c @@ -44,6 +44,9 @@ #include "sysemu/sysemu.h" #include "hw/s390x/pv.h" #include +#include "migration/blocker.h" + +static Error *pv_mig_blocker; S390CPU *s390_cpu_addr2state(uint16_t cpu_addr) { @@ -325,15 +328,30 @@ static void s390_machine_unprotect(S390CcwMachineState *ms) { s390_pv_vm_disable(); ms->pv = false; + migrate_del_blocker(pv_mig_blocker); + error_free_or_abort(&pv_mig_blocker); } static int s390_machine_protect(S390CcwMachineState *ms) { + Error *local_err = NULL; int rc; + error_setg(&pv_mig_blocker, + "protected VMs are currently not migrateable."); + rc = migrate_add_blocker(pv_mig_blocker, &local_err); + if (rc) { + error_report_err(local_err); + error_free_or_abort(&pv_mig_blocker); + return rc; + } + /* Create SE VM */ rc = s390_pv_vm_enable(); if (rc) { + error_report_err(local_err); + migrate_del_blocker(pv_mig_blocker); + error_free_or_abort(&pv_mig_blocker); return rc; } -- 2.27.0