mirror of https://gitee.com/openkylin/libvirt.git
qemu: Clear generated private paths
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>
This commit is contained in:
parent
1893b6df11
commit
d558fb34fd
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -5832,6 +5832,8 @@ void qemuProcessStop(virQEMUDriverPtr driver,
|
|||
virFileDeleteTree(priv->libDir);
|
||||
virFileDeleteTree(priv->channelTargetDir);
|
||||
|
||||
qemuDomainClearPrivatePaths(vm);
|
||||
|
||||
ignore_value(virDomainChrDefForeach(vm->def,
|
||||
false,
|
||||
qemuProcessCleanupChardevDevice,
|
||||
|
|
Loading…
Reference in New Issue