mirror of
https://github.com/libvirt/libvirt.git
synced 2026-09-03 20:53:04 -05:00
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:
committed by
Martin Kletzander
parent
925fa4b905
commit
19a148b7c8
@@ -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);
|
||||||
|
|||||||
@@ -186,7 +186,6 @@ struct _qemuDomainObjPrivate {
|
|||||||
|
|
||||||
virDomainPCIAddressSetPtr pciaddrs;
|
virDomainPCIAddressSetPtr pciaddrs;
|
||||||
virDomainCCWAddressSetPtr ccwaddrs;
|
virDomainCCWAddressSetPtr ccwaddrs;
|
||||||
virDomainVirtioSerialAddrSetPtr vioserialaddrs;
|
|
||||||
virDomainUSBAddressSetPtr usbaddrs;
|
virDomainUSBAddressSetPtr usbaddrs;
|
||||||
|
|
||||||
virQEMUCapsPtr qemuCaps;
|
virQEMUCapsPtr qemuCaps;
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user