]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: process: Refresh backing chain info when reconnecting to qemu
authorPeter Krempa <pkrempa@redhat.com>
Fri, 16 May 2014 13:16:18 +0000 (15:16 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Fri, 23 May 2014 07:25:51 +0000 (09:25 +0200)
Refresh the disk backing chains when reconnecting to a qemu process
after daemon restart. There are a few internal fields that don't get
refreshed from the XML. Until we are able to do that, let's reload all
the metadata by the backing chain crawler.

src/qemu/qemu_process.c

index a83780ffb036eba2e504a51eb122c2e94ea6a6c7..4aa9ca37125d20cffbcc9145886cd09c7c9ce2a6 100644 (file)
@@ -3213,6 +3213,11 @@ qemuProcessReconnect(void *opaque)
         if (qemuTranslateDiskSourcePool(conn, obj->def->disks[i]) < 0)
             goto error;
 
+        /* XXX we should be able to restore all data from XML in the future */
+        if (qemuDomainDetermineDiskChain(driver, obj,
+                                         obj->def->disks[i], true) < 0)
+            goto error;
+
         dev.type = VIR_DOMAIN_DEVICE_DISK;
         dev.data.disk = obj->def->disks[i];
         if (qemuAddSharedDevice(driver, &dev, obj->def->name) < 0)