[libvirt] [PATCH] qemu: Fix backwards compatibility of S390 guests

Boris Fiuczynski fiuczy at linux.vnet.ibm.com
Wed Jul 20 07:13:54 UTC 2016


This patch reverts commit 73e4e10e62e4b1aea64b317be96af5e5488007d7
and thereby disabling the panic device autogeneration for S390 guests.
In addition tests are patched as well.

The reverted commit breaks backwards compatibility of S390 guests.
As an example: A domain xml without a panic device can successfully
be used to define on two hosts with different libvirt versions.
Using this domain xml to define a domain on a host with libivrt v1.3.5
makes it impossible to migrate the domain to a host with libvirt v1.3.4
or older since libvirt v1.3.5 automatically added a panic device with
model s390 which libvirt v1.3.4 or older rejects as unknown model.

Signed-off-by: Boris Fiuczynski <fiuczy at linux.vnet.ibm.com>
Tested-by: Bjoern Walk <bwalk at linux.vnet.ibm.com>
---
 src/qemu/qemu_domain.c                                              | 6 +-----
 tests/qemuargv2xmldata/qemuargv2xml-machine-aeskeywrap-off-argv.xml | 1 -
 tests/qemuargv2xmldata/qemuargv2xml-machine-aeskeywrap-on-argv.xml  | 1 -
 tests/qemuargv2xmldata/qemuargv2xml-machine-deakeywrap-off-argv.xml | 1 -
 tests/qemuargv2xmldata/qemuargv2xml-machine-deakeywrap-on-argv.xml  | 1 -
 tests/qemuargv2xmldata/qemuargv2xml-machine-keywrap-none-argv.xml   | 1 -
 .../qemuxml2xmloutdata/qemuxml2xmlout-iothreads-disk-virtio-ccw.xml | 1 -
 .../qemuxml2xmloutdata/qemuxml2xmlout-iothreads-virtio-scsi-ccw.xml | 1 -
 tests/qemuxml2xmloutdata/qemuxml2xmlout-s390-defaultconsole.xml     | 1 -
 tests/qemuxml2xmloutdata/qemuxml2xmlout-s390-panic-missing.xml      | 1 -
 10 files changed, 1 insertion(+), 14 deletions(-)

diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 6372080..1d63066 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -2009,7 +2009,6 @@ qemuDomainDefAddDefaultDevices(virDomainDefPtr def,
     case VIR_ARCH_S390:
     case VIR_ARCH_S390X:
         addDefaultUSB = false;
-        addPanicDevice = true;
         break;
 
     case VIR_ARCH_SPARC:
@@ -2114,10 +2113,7 @@ qemuDomainDefAddDefaultDevices(virDomainDefPtr def,
         size_t j;
         for (j = 0; j < def->npanics; j++) {
             if (def->panics[j]->model == VIR_DOMAIN_PANIC_MODEL_DEFAULT ||
-                (ARCH_IS_PPC64(def->os.arch) &&
-                     def->panics[j]->model == VIR_DOMAIN_PANIC_MODEL_PSERIES) ||
-                (ARCH_IS_S390(def->os.arch) &&
-                     def->panics[j]->model == VIR_DOMAIN_PANIC_MODEL_S390))
+                def->panics[j]->model == VIR_DOMAIN_PANIC_MODEL_PSERIES)
                 break;
         }
 
diff --git a/tests/qemuargv2xmldata/qemuargv2xml-machine-aeskeywrap-off-argv.xml b/tests/qemuargv2xmldata/qemuargv2xml-machine-aeskeywrap-off-argv.xml
index 7c100a7..fa25f44 100644
--- a/tests/qemuargv2xmldata/qemuargv2xml-machine-aeskeywrap-off-argv.xml
+++ b/tests/qemuargv2xmldata/qemuargv2xml-machine-aeskeywrap-off-argv.xml
@@ -15,7 +15,6 @@
   <devices>
     <emulator>/usr/bin/qemu-system-s390x</emulator>
     <memballoon model='none'/>
-    <panic model='s390'/>
   </devices>
   <keywrap>
     <cipher name='aes' state='off'/>
diff --git a/tests/qemuargv2xmldata/qemuargv2xml-machine-aeskeywrap-on-argv.xml b/tests/qemuargv2xmldata/qemuargv2xml-machine-aeskeywrap-on-argv.xml
index 94bb6b2..cfb4dd1 100644
--- a/tests/qemuargv2xmldata/qemuargv2xml-machine-aeskeywrap-on-argv.xml
+++ b/tests/qemuargv2xmldata/qemuargv2xml-machine-aeskeywrap-on-argv.xml
@@ -15,7 +15,6 @@
   <devices>
     <emulator>/usr/bin/qemu-system-s390x</emulator>
     <memballoon model='none'/>
-    <panic model='s390'/>
   </devices>
   <keywrap>
     <cipher name='aes' state='on'/>
diff --git a/tests/qemuargv2xmldata/qemuargv2xml-machine-deakeywrap-off-argv.xml b/tests/qemuargv2xmldata/qemuargv2xml-machine-deakeywrap-off-argv.xml
index a707ce3..78e44c5 100644
--- a/tests/qemuargv2xmldata/qemuargv2xml-machine-deakeywrap-off-argv.xml
+++ b/tests/qemuargv2xmldata/qemuargv2xml-machine-deakeywrap-off-argv.xml
@@ -15,7 +15,6 @@
   <devices>
     <emulator>/usr/bin/qemu-system-s390x</emulator>
     <memballoon model='none'/>
-    <panic model='s390'/>
   </devices>
   <keywrap>
     <cipher name='dea' state='off'/>
diff --git a/tests/qemuargv2xmldata/qemuargv2xml-machine-deakeywrap-on-argv.xml b/tests/qemuargv2xmldata/qemuargv2xml-machine-deakeywrap-on-argv.xml
index 41c464a..c85d1c5 100644
--- a/tests/qemuargv2xmldata/qemuargv2xml-machine-deakeywrap-on-argv.xml
+++ b/tests/qemuargv2xmldata/qemuargv2xml-machine-deakeywrap-on-argv.xml
@@ -15,7 +15,6 @@
   <devices>
     <emulator>/usr/bin/qemu-system-s390x</emulator>
     <memballoon model='none'/>
-    <panic model='s390'/>
   </devices>
   <keywrap>
     <cipher name='dea' state='on'/>
diff --git a/tests/qemuargv2xmldata/qemuargv2xml-machine-keywrap-none-argv.xml b/tests/qemuargv2xmldata/qemuargv2xml-machine-keywrap-none-argv.xml
index 0b0ce70..5640544 100644
--- a/tests/qemuargv2xmldata/qemuargv2xml-machine-keywrap-none-argv.xml
+++ b/tests/qemuargv2xmldata/qemuargv2xml-machine-keywrap-none-argv.xml
@@ -15,6 +15,5 @@
   <devices>
     <emulator>/usr/bin/qemu-system-s390x</emulator>
     <memballoon model='none'/>
-    <panic model='s390'/>
   </devices>
 </domain>
diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-iothreads-disk-virtio-ccw.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-iothreads-disk-virtio-ccw.xml
index f6d1039..b6f7d30 100644
--- a/tests/qemuxml2xmloutdata/qemuxml2xmlout-iothreads-disk-virtio-ccw.xml
+++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-iothreads-disk-virtio-ccw.xml
@@ -31,6 +31,5 @@
     <memballoon model='virtio'>
       <address type='ccw' cssid='0xfe' ssid='0x0' devno='0x000a'/>
     </memballoon>
-    <panic model='s390'/>
   </devices>
 </domain>
diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-iothreads-virtio-scsi-ccw.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-iothreads-virtio-scsi-ccw.xml
index 5e91f1c..2499782 100644
--- a/tests/qemuxml2xmloutdata/qemuxml2xmlout-iothreads-virtio-scsi-ccw.xml
+++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-iothreads-virtio-scsi-ccw.xml
@@ -35,6 +35,5 @@
     <memballoon model='virtio'>
       <address type='ccw' cssid='0xfe' ssid='0x0' devno='0x000a'/>
     </memballoon>
-    <panic model='s390'/>
   </devices>
 </domain>
diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-s390-defaultconsole.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-s390-defaultconsole.xml
index 42ad4e4..3f349b2 100644
--- a/tests/qemuxml2xmloutdata/qemuxml2xmlout-s390-defaultconsole.xml
+++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-s390-defaultconsole.xml
@@ -20,6 +20,5 @@
       <target type='virtio' port='0'/>
     </console>
     <memballoon model='none'/>
-    <panic model='s390'/>
   </devices>
 </domain>
diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-s390-panic-missing.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-s390-panic-missing.xml
index 8864157..0f40eb0 100644
--- a/tests/qemuxml2xmloutdata/qemuxml2xmlout-s390-panic-missing.xml
+++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-s390-panic-missing.xml
@@ -24,6 +24,5 @@
     <memballoon model='virtio'>
       <address type='ccw' cssid='0xfe' ssid='0x0' devno='0x0002'/>
     </memballoon>
-    <panic model='s390'/>
   </devices>
 </domain>
-- 
2.9.0




More information about the libvir-list mailing list