summaryrefslogtreecommitdiffstats
path: root/drivers/virtio
diff options
context:
space:
mode:
authorAmit Shah <amit.shah@redhat.com>2012-04-26 21:15:56 +0200
committerMichael S. Tsirkin <mst@redhat.com>2012-05-17 11:14:34 +0200
commitb8ae0eb320b38415da94a41f75e9f99e0aaff06c (patch)
tree0e0d05059f13a1a67796c60274951bab2e0a0b2c /drivers/virtio
parentvirtio: console: tell host of open ports after resume from s3/s4 (diff)
downloadlinux-b8ae0eb320b38415da94a41f75e9f99e0aaff06c.tar.xz
linux-b8ae0eb320b38415da94a41f75e9f99e0aaff06c.zip
virtio: balloon: let host know of updated balloon size before module removal
When the balloon module is removed, we deflate the balloon, reclaiming all the pages that were given to the host. However, we don't update the config values for the new balloon size, resulting in the host showing outdated balloon values. The size update is done after each leak and fill operation, only the module removal case was left out. Signed-off-by: Amit Shah <amit.shah@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'drivers/virtio')
-rw-r--r--drivers/virtio/virtio_balloon.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/virtio/virtio_balloon.c b/drivers/virtio/virtio_balloon.c
index c2d05a8279fd..8807fe501d20 100644
--- a/drivers/virtio/virtio_balloon.c
+++ b/drivers/virtio/virtio_balloon.c
@@ -390,6 +390,7 @@ static void __devexit virtballoon_remove(struct virtio_device *vdev)
/* There might be pages left in the balloon: free them. */
while (vb->num_pages)
leak_balloon(vb, vb->num_pages);
+ update_balloon_size(vb);
/* Now we reset the device so we can clean up the queues. */
vdev->config->reset(vdev);