Rebase to qemu-1.7 GA New monitor command blockdev-add for full featured block device hotplug. Performance and functionality improvements for USB 3.0. Many VFIO improvements ACPI tables can be generated by QEMU and can be used by firmware directly. Support creating and writing .vhdx images. qemu-img map: dump detailed image file metadata
50 lines
1.8 KiB
Diff
50 lines
1.8 KiB
Diff
From 7f334f1eb88807e2fc7ae42cc729f8dd371833e4 Mon Sep 17 00:00:00 2001
|
|
From: Paolo Bonzini <pbonzini@redhat.com>
|
|
Date: Fri, 20 Sep 2013 16:57:58 +0200
|
|
Subject: [PATCH] virtio-balloon: switch exit callback to VirtioDeviceClass
|
|
|
|
This ensures hot-unplug is handled properly by the proxy.
|
|
|
|
Cc: qemu-stable@nongnu.org
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
---
|
|
hw/virtio/virtio-balloon.c | 10 ++++------
|
|
1 file changed, 4 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c
|
|
index 9504877..d7a392d 100644
|
|
--- a/hw/virtio/virtio-balloon.c
|
|
+++ b/hw/virtio/virtio-balloon.c
|
|
@@ -370,16 +370,14 @@ static int virtio_balloon_device_init(VirtIODevice *vdev)
|
|
return 0;
|
|
}
|
|
|
|
-static int virtio_balloon_device_exit(DeviceState *qdev)
|
|
+static void virtio_balloon_device_exit(VirtIODevice *vdev)
|
|
{
|
|
- VirtIOBalloon *s = VIRTIO_BALLOON(qdev);
|
|
- VirtIODevice *vdev = VIRTIO_DEVICE(qdev);
|
|
+ VirtIOBalloon *s = VIRTIO_BALLOON(vdev);
|
|
|
|
balloon_stats_destroy_timer(s);
|
|
qemu_remove_balloon_handler(s);
|
|
- unregister_savevm(qdev, "virtio-balloon", s);
|
|
+ unregister_savevm(DEVICE(vdev), "virtio-balloon", s);
|
|
virtio_cleanup(vdev);
|
|
- return 0;
|
|
}
|
|
|
|
static Property virtio_balloon_properties[] = {
|
|
@@ -390,10 +388,10 @@ static void virtio_balloon_class_init(ObjectClass *klass, void *data)
|
|
{
|
|
DeviceClass *dc = DEVICE_CLASS(klass);
|
|
VirtioDeviceClass *vdc = VIRTIO_DEVICE_CLASS(klass);
|
|
- dc->exit = virtio_balloon_device_exit;
|
|
dc->props = virtio_balloon_properties;
|
|
set_bit(DEVICE_CATEGORY_MISC, dc->categories);
|
|
vdc->init = virtio_balloon_device_init;
|
|
+ vdc->exit = virtio_balloon_device_exit;
|
|
vdc->get_config = virtio_balloon_get_config;
|
|
vdc->set_config = virtio_balloon_set_config;
|
|
vdc->get_features = virtio_balloon_get_features;
|