qemu: remove vioserialaddrs caching

Dropping the caching of virtio serial address set.
The cached set is not required anymore, because the set is now being
recalculated from the domain definition on demand, so the cache
can be deleted.

Credit goes to Cole Robinson.
This commit is contained in:
Tomasz Flendrich
2016-07-26 13:04:46 +02:00
committed by Martin Kletzander
parent 925fa4b905
commit 19a148b7c8
3 changed files with 3 additions and 17 deletions
-1
View File
@@ -1329,7 +1329,6 @@ qemuDomainObjPrivateFree(void *data)
virCgroupFree(&priv->cgroup); virCgroupFree(&priv->cgroup);
virDomainPCIAddressSetFree(priv->pciaddrs); virDomainPCIAddressSetFree(priv->pciaddrs);
virDomainCCWAddressSetFree(priv->ccwaddrs); virDomainCCWAddressSetFree(priv->ccwaddrs);
virDomainVirtioSerialAddrSetFree(priv->vioserialaddrs);
virDomainUSBAddressSetFree(priv->usbaddrs); virDomainUSBAddressSetFree(priv->usbaddrs);
virDomainChrSourceDefFree(priv->monConfig); virDomainChrSourceDefFree(priv->monConfig);
qemuDomainObjFreeJob(priv); qemuDomainObjFreeJob(priv);
-1
View File
@@ -186,7 +186,6 @@ struct _qemuDomainObjPrivate {
virDomainPCIAddressSetPtr pciaddrs; virDomainPCIAddressSetPtr pciaddrs;
virDomainCCWAddressSetPtr ccwaddrs; virDomainCCWAddressSetPtr ccwaddrs;
virDomainVirtioSerialAddrSetPtr vioserialaddrs;
virDomainUSBAddressSetPtr usbaddrs; virDomainUSBAddressSetPtr usbaddrs;
virQEMUCapsPtr qemuCaps; virQEMUCapsPtr qemuCaps;
+3 -15
View File
@@ -106,13 +106,11 @@ qemuDomainSetSCSIControllerModel(const virDomainDef *def,
static int static int
qemuDomainAssignVirtioSerialAddresses(virDomainDefPtr def, qemuDomainAssignVirtioSerialAddresses(virDomainDefPtr def)
virDomainObjPtr obj)
{ {
int ret = -1; int ret = -1;
size_t i; size_t i;
virDomainVirtioSerialAddrSetPtr addrs = NULL; virDomainVirtioSerialAddrSetPtr addrs = NULL;
qemuDomainObjPrivatePtr priv = NULL;
if (!(addrs = virDomainVirtioSerialAddrSetCreateFromDomain(def))) if (!(addrs = virDomainVirtioSerialAddrSetCreateFromDomain(def)))
goto cleanup; goto cleanup;
@@ -137,13 +135,6 @@ qemuDomainAssignVirtioSerialAddresses(virDomainDefPtr def,
goto cleanup; goto cleanup;
} }
if (obj && obj->privateData) {
priv = obj->privateData;
/* if this is the live domain object, we persist the addresses */
virDomainVirtioSerialAddrSetFree(priv->vioserialaddrs);
priv->vioserialaddrs = addrs;
addrs = NULL;
}
ret = 0; ret = 0;
cleanup: cleanup:
@@ -1767,7 +1758,7 @@ qemuDomainAssignAddresses(virDomainDefPtr def,
virDomainObjPtr obj, virDomainObjPtr obj,
bool newDomain) bool newDomain)
{ {
if (qemuDomainAssignVirtioSerialAddresses(def, obj) < 0) if (qemuDomainAssignVirtioSerialAddresses(def) < 0)
return -1; return -1;
if (qemuDomainAssignSpaprVIOAddresses(def, qemuCaps) < 0) if (qemuDomainAssignSpaprVIOAddresses(def, qemuCaps) < 0)
@@ -1809,10 +1800,7 @@ qemuDomainReleaseDeviceAddress(virDomainObjPtr vm,
&info->addr.pci) < 0) &info->addr.pci) < 0)
VIR_WARN("Unable to release PCI address on %s", VIR_WARN("Unable to release PCI address on %s",
NULLSTR(devstr)); NULLSTR(devstr));
if (info->type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_SERIAL &&
virDomainVirtioSerialAddrRelease(priv->vioserialaddrs, info) < 0)
VIR_WARN("Unable to release virtio-serial address on %s",
NULLSTR(devstr));
if (info->type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_USB && if (info->type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_USB &&
priv->usbaddrs && priv->usbaddrs &&
virDomainUSBAddressRelease(priv->usbaddrs, info) < 0) virDomainUSBAddressRelease(priv->usbaddrs, info) < 0)