render / rpms / libvirt

Forked from rpms/libvirt 9 months ago
Clone
404507
From d3cf944874059fd81b68f8cc0beef6b8b69490bb Mon Sep 17 00:00:00 2001
404507
Message-Id: <d3cf944874059fd81b68f8cc0beef6b8b69490bb@dist-git>
404507
From: Peter Krempa <pkrempa@redhat.com>
404507
Date: Fri, 1 Dec 2017 15:57:03 +0100
404507
Subject: [PATCH] qemu: domain: Fix backing store terminator for non-backing
404507
 local files
404507
404507
Raw local files do not pass through the backing store detector and thus
404507
the code did not allocate the required backing store terminator for
404507
them. Previously the terminating element would be formatted into the XML
404507
since the default values used for the metadata allowed that. This is a
404507
regression since a693fdba0111ff which was not detected in the review.
404507
404507
This patch also reverts all the changes in the test files.
404507
404507
(cherry picked from commit adcc31bb89e47ef642cbcfcff372131db7cd8d8b)
404507
404507
 Conflicts:
404507
	src/qemu/qemu_domain.c - as with previous patch the return code
404507
        logic hat do be negated
404507
404507
https://bugzilla.redhat.com/show_bug.cgi?id=1509110
404507
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
404507
---
404507
 src/qemu/qemu_domain.c                                             | 7 +++++++
404507
 .../qemuhotplug-base-ccw-live+ccw-virtio.xml                       | 1 +
404507
 ...otplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-reverse.xml | 2 ++
404507
 .../qemuhotplug-base-ccw-live-with-2-ccw-virtio.xml                | 1 +
404507
 ...hotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2-explicit.xml | 1 +
404507
 .../qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2.xml     | 1 +
404507
 ...qemuhotplug-base-live+disk-scsi-wwn+disk-scsi-duplicate-wwn.xml | 1 +
404507
 tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-scsi.xml   | 1 +
404507
 tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-usb.xml    | 1 +
404507
 tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-virtio.xml | 1 +
404507
 .../qemuhotplug-base-without-scsi-controller-live+disk-scsi-2.xml  | 1 +
404507
 11 files changed, 18 insertions(+)
404507
404507
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
404507
index 33cb3df949..9dd9db049b 100644
404507
--- a/src/qemu/qemu_domain.c
404507
+++ b/src/qemu/qemu_domain.c
404507
@@ -6372,6 +6372,13 @@ qemuDomainDetermineDiskChain(virQEMUDriverPtr driver,
404507
             goto cleanup;
404507
         }
404507
 
404507
+        /* terminate the chain for such images as the code below would do */
404507
+        if (!disk->src->backingStore &&
404507
+            VIR_ALLOC(disk->src->backingStore) < 0) {
404507
+            ret = -1;
404507
+            goto cleanup;
404507
+        }
404507
+
404507
         goto cleanup;
404507
     }
404507
 
404507
diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live+ccw-virtio.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live+ccw-virtio.xml
404507
index 0fa8d036b9..cd03d0e09b 100644
404507
--- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live+ccw-virtio.xml
404507
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live+ccw-virtio.xml
404507
@@ -22,6 +22,7 @@
404507
     <disk type='file' device='disk'>
404507
       <driver name='qemu' type='raw' cache='none'/>
404507
       <source file='/dev/null'/>
404507
+      <backingStore/>
404507
       <target dev='vde' bus='virtio'/>
404507
       <readonly/>
404507
       <shareable/>
404507
diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-reverse.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-reverse.xml
404507
index 135427fff5..7be75f977b 100644
404507
--- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-reverse.xml
404507
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-reverse.xml
404507
@@ -22,6 +22,7 @@
404507
     <disk type='file' device='disk'>
404507
       <driver name='qemu' type='raw' cache='none'/>
404507
       <source file='/dev/null'/>
404507
+      <backingStore/>
404507
       <target dev='hda' bus='virtio'/>
404507
       <readonly/>
404507
       <shareable/>
404507
@@ -31,6 +32,7 @@
404507
     <disk type='file' device='disk'>
404507
       <driver name='qemu' type='raw' cache='none'/>
404507
       <source file='/dev/null'/>
404507
+      <backingStore/>
404507
       <target dev='hdb' bus='virtio'/>
404507
       <readonly/>
404507
       <shareable/>
404507
diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio.xml
404507
index e17c4e43b2..a83f1b5d73 100644
404507
--- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio.xml
404507
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio.xml
404507
@@ -22,6 +22,7 @@
404507
     <disk type='file' device='disk'>
404507
       <driver name='qemu' type='raw' cache='none'/>
404507
       <source file='/dev/null'/>
404507
+      <backingStore/>
404507
       <target dev='hda' bus='virtio'/>
404507
       <readonly/>
404507
       <shareable/>
404507
diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2-explicit.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2-explicit.xml
404507
index 326d312fa9..3e90207519 100644
404507
--- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2-explicit.xml
404507
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2-explicit.xml
404507
@@ -22,6 +22,7 @@
404507
     <disk type='file' device='disk'>
404507
       <driver name='qemu' type='raw' cache='none'/>
404507
       <source file='/dev/null'/>
404507
+      <backingStore/>
404507
       <target dev='hda' bus='virtio'/>
404507
       <readonly/>
404507
       <shareable/>
404507
diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2.xml
404507
index 326d312fa9..3e90207519 100644
404507
--- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2.xml
404507
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2.xml
404507
@@ -22,6 +22,7 @@
404507
     <disk type='file' device='disk'>
404507
       <driver name='qemu' type='raw' cache='none'/>
404507
       <source file='/dev/null'/>
404507
+      <backingStore/>
404507
       <target dev='hda' bus='virtio'/>
404507
       <readonly/>
404507
       <shareable/>
404507
diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-scsi-wwn+disk-scsi-duplicate-wwn.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-scsi-wwn+disk-scsi-duplicate-wwn.xml
404507
index 16caeb3542..4c3ea3202b 100644
404507
--- a/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-scsi-wwn+disk-scsi-duplicate-wwn.xml
404507
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-scsi-wwn+disk-scsi-duplicate-wwn.xml
404507
@@ -33,6 +33,7 @@
404507
     <disk type='file' device='disk'>
404507
       <driver name='qemu' type='raw' cache='none'/>
404507
       <source file='/dev/null'/>
404507
+      <backingStore/>
404507
       <target dev='sdg' bus='scsi'/>
404507
       <readonly/>
404507
       <shareable/>
404507
diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-scsi.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-scsi.xml
404507
index a6dbf0b1bd..493a615fd3 100644
404507
--- a/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-scsi.xml
404507
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-scsi.xml
404507
@@ -22,6 +22,7 @@
404507
     <disk type='file' device='disk'>
404507
       <driver name='qemu' type='raw' cache='none'/>
404507
       <source file='/dev/null'/>
404507
+      <backingStore/>
404507
       <target dev='sdf' bus='scsi'/>
404507
       <readonly/>
404507
       <shareable/>
404507
diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-usb.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-usb.xml
404507
index 6ccb88f140..3609819ea3 100644
404507
--- a/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-usb.xml
404507
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-usb.xml
404507
@@ -22,6 +22,7 @@
404507
     <disk type='file' device='disk'>
404507
       <driver name='qemu' type='raw' cache='none'/>
404507
       <source file='/dev/null'/>
404507
+      <backingStore/>
404507
       <target dev='sdq' bus='usb'/>
404507
       <readonly/>
404507
       <shareable/>
404507
diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-virtio.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-virtio.xml
404507
index b97c0b41e2..b88b220e33 100644
404507
--- a/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-virtio.xml
404507
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-virtio.xml
404507
@@ -22,6 +22,7 @@
404507
     <disk type='file' device='disk'>
404507
       <driver name='qemu' type='raw' cache='none'/>
404507
       <source file='/dev/null'/>
404507
+      <backingStore/>
404507
       <target dev='vde' bus='virtio'/>
404507
       <readonly/>
404507
       <shareable/>
404507
diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-without-scsi-controller-live+disk-scsi-2.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-without-scsi-controller-live+disk-scsi-2.xml
404507
index 6422e1640d..c12d18f716 100644
404507
--- a/tests/qemuhotplugtestdomains/qemuhotplug-base-without-scsi-controller-live+disk-scsi-2.xml
404507
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-without-scsi-controller-live+disk-scsi-2.xml
404507
@@ -22,6 +22,7 @@
404507
     <disk type='file' device='disk'>
404507
       <driver name='qemu' type='raw' cache='none'/>
404507
       <source file='/dev/null'/>
404507
+      <backingStore/>
404507
       <target dev='sdf' bus='scsi'/>
404507
       <readonly/>
404507
       <shareable/>
404507
-- 
404507
2.15.1
404507