mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
virtio-balloon: Add exit handler, fix memleaks
Add an exit handler that will free up RAM after a virtio-balloon device is unplugged. Signed-off-by: Amit Shah <amit.shah@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Acked-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
514e73eceb
commit
855d7e259f
3 changed files with 16 additions and 1 deletions
|
@ -795,6 +795,15 @@ static int virtio_balloon_init_pci(PCIDevice *pci_dev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int virtio_balloon_exit_pci(PCIDevice *pci_dev)
|
||||
{
|
||||
VirtIOPCIProxy *proxy = DO_UPCAST(VirtIOPCIProxy, pci_dev, pci_dev);
|
||||
|
||||
virtio_pci_stop_ioeventfd(proxy);
|
||||
virtio_balloon_exit(proxy->vdev);
|
||||
return virtio_exit_pci(pci_dev);
|
||||
}
|
||||
|
||||
static PCIDeviceInfo virtio_info[] = {
|
||||
{
|
||||
.qdev.name = "virtio-blk-pci",
|
||||
|
@ -869,7 +878,7 @@ static PCIDeviceInfo virtio_info[] = {
|
|||
.qdev.alias = "virtio-balloon",
|
||||
.qdev.size = sizeof(VirtIOPCIProxy),
|
||||
.init = virtio_balloon_init_pci,
|
||||
.exit = virtio_exit_pci,
|
||||
.exit = virtio_balloon_exit_pci,
|
||||
.vendor_id = PCI_VENDOR_ID_REDHAT_QUMRANET,
|
||||
.device_id = PCI_DEVICE_ID_VIRTIO_BALLOON,
|
||||
.revision = VIRTIO_PCI_ABI_VERSION,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue