]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Clear generated private paths
authorMartin Kletzander <mkletzan@redhat.com>
Sun, 3 Apr 2016 19:51:29 +0000 (21:51 +0200)
committerMartin Kletzander <mkletzan@redhat.com>
Mon, 4 Apr 2016 06:17:10 +0000 (08:17 +0200)
The paths have the domain ID in them.  Without cleaning them, they would
contain the same ID even after multiple restarts.  That could cause
various problems, e.g. with access.

Add function qemuDomainClearPrivatePaths() for this as a counterpart of
qemuDomainSetPrivatePaths().

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
src/qemu/qemu_domain.c
src/qemu/qemu_domain.h
src/qemu/qemu_process.c

index 6102f7983f58028935a76b2ccd90cc2b35d89c57..f38b0f3810309b9ed9c5849aba80b7e50700bf5f 100644 (file)
@@ -562,6 +562,16 @@ qemuDomainSetPrivatePaths(virQEMUDriverPtr driver,
 }
 
 
+void
+qemuDomainClearPrivatePaths(virDomainObjPtr vm)
+{
+    qemuDomainObjPrivatePtr priv = vm->privateData;
+
+    VIR_FREE(priv->libDir);
+    VIR_FREE(priv->channelTargetDir);
+}
+
+
 static void *
 qemuDomainObjPrivateAlloc(void)
 {
index 918a77dabd2965cb6ed9c74a2bc9b702633a93e3..54d7bd74f3be0bc839321c24f3494415a0551bad 100644 (file)
@@ -554,6 +554,7 @@ int qemuDomainNetVLAN(virDomainNetDefPtr def);
 int qemuDomainSetPrivatePaths(virQEMUDriverPtr driver,
                               virDomainObjPtr vm);
 
+void qemuDomainClearPrivatePaths(virDomainObjPtr vm);
 
 virDomainDiskDefPtr qemuDomainDiskByName(virDomainDefPtr def, const char *name);
 
index 7044266bb517b741332c6bf2894cccc560d7b754..d9dca74853873a50ef17a99ed170e95ede21d1d6 100644 (file)
@@ -5832,6 +5832,8 @@ void qemuProcessStop(virQEMUDriverPtr driver,
     virFileDeleteTree(priv->libDir);
     virFileDeleteTree(priv->channelTargetDir);
 
+    qemuDomainClearPrivatePaths(vm);
+
     ignore_value(virDomainChrDefForeach(vm->def,
                                         false,
                                         qemuProcessCleanupChardevDevice,