]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemuProcessStop: Remove image metadata only when allowed
authorMichal Privoznik <mprivozn@redhat.com>
Wed, 4 Dec 2019 16:36:33 +0000 (17:36 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Thu, 5 Dec 2019 14:08:28 +0000 (15:08 +0100)
In v5.9.0-370-g8fa0374c5b I've tried to fix a bug by removing
some stale XATTRs in qemuProcessStop(). However, I forgot to
do nothing when the VIR_QEMU_PROCESS_STOP_NO_RELABEL flag was
specified.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
src/qemu/qemu_process.c

index 75ee3893c6dedeef4213b097cd76ba5c1ee53a8a..5e178b3c6c4dceffce502bea53de33e7b4e61731 100644 (file)
@@ -7648,13 +7648,15 @@ void qemuProcessStop(virQEMUDriverPtr driver,
     /* Do this explicitly after vm->pid is reset so that security drivers don't
      * try to enter the domain's namespace which is non-existent by now as qemu
      * is no longer running. */
-    for (i = 0; i < def->ndisks; i++) {
-        virDomainDiskDefPtr disk = def->disks[i];
+    if (!(flags & VIR_QEMU_PROCESS_STOP_NO_RELABEL)) {
+        for (i = 0; i < def->ndisks; i++) {
+            virDomainDiskDefPtr disk = def->disks[i];
 
-        if (disk->mirror)
-            qemuBlockRemoveImageMetadata(driver, vm, disk->dst, disk->mirror);
+            if (disk->mirror)
+                qemuBlockRemoveImageMetadata(driver, vm, disk->dst, disk->mirror);
 
-        qemuBlockRemoveImageMetadata(driver, vm, disk->dst, disk->src);
+            qemuBlockRemoveImageMetadata(driver, vm, disk->dst, disk->src);
+        }
     }
 
     /* clear all private data entries which are no longer needed */