]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: hotplug: Add/remove managed PR objects on media change
authorPeter Krempa <pkrempa@redhat.com>
Fri, 13 Jul 2018 16:37:43 +0000 (18:37 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Fri, 20 Jul 2018 12:23:09 +0000 (14:23 +0200)
When changing cdrom media we did not handle the managed PR objects thus
we'd either have a stale PR object left behind or the media change would
fail.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_hotplug.c

index f2c29859f9570dea784b184047c489dcb20f5fca..d3b7b45019b5f7252acccfd57863401f408a4a6d 100644 (file)
@@ -595,6 +595,9 @@ qemuDomainChangeEjectableMedia(virQEMUDriverPtr driver,
     if (qemuHotplugPrepareDiskAccess(driver, vm, disk, newsrc, false) < 0)
         goto cleanup;
 
+    if (qemuHotplugAttachManagedPR(driver, vm, newsrc, QEMU_ASYNC_JOB_NONE) < 0)
+        goto cleanup;
+
     rc = qemuDomainChangeMediaLegacy(driver, vm, disk, newsrc, force);
 
     virDomainAuditDisk(vm, disk->src, newsrc, "update", rc >= 0);
@@ -610,6 +613,9 @@ qemuDomainChangeEjectableMedia(virQEMUDriverPtr driver,
 
     virStorageSourceFree(disk->src);
     VIR_STEAL_PTR(disk->src, newsrc);
+
+    ignore_value(qemuHotplugRemoveManagedPR(driver, vm, QEMU_ASYNC_JOB_NONE));
+
     ret = 0;
 
  cleanup: