From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:36882) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R1wxE-00054J-PO for qemu-devel@nongnu.org; Fri, 09 Sep 2011 05:00:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R1wxD-0001gg-L0 for qemu-devel@nongnu.org; Fri, 09 Sep 2011 05:00:56 -0400 Received: from mx1.redhat.com ([209.132.183.28]:15046) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R1wxD-0001gc-1v for qemu-devel@nongnu.org; Fri, 09 Sep 2011 05:00:55 -0400 From: Amit Shah Date: Fri, 9 Sep 2011 14:30:40 +0530 Message-Id: <65bcb3f9b2b2c17b1b88e474f80ca028bbda62af.1315558826.git.amit.shah@redhat.com> In-Reply-To: <7d472e560b452ffba3f75ae364c2db709f7fab2d.1315558826.git.amit.shah@redhat.com> References: <7d472e560b452ffba3f75ae364c2db709f7fab2d.1315558826.git.amit.shah@redhat.com> In-Reply-To: <7d472e560b452ffba3f75ae364c2db709f7fab2d.1315558826.git.amit.shah@redhat.com> References: <7d472e560b452ffba3f75ae364c2db709f7fab2d.1315558826.git.amit.shah@redhat.com> Subject: [Qemu-devel] [PATCH 2/2] virtio-balloon: Disassociate from the balloon handlers on unplug List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu list Cc: Amit Shah , Markus Armbruster Adding a 2nd balloon device after unplugging the first one doesn't work. Also, the 'info balloon' command should indicate an error mentioning no balloon device is registered after unplug. Reproduction steps given by Shaolong Hu: (qemu) info balloon Device 'balloon' has not been activated by the guest (qemu) device_add virtio-balloon-pci,id=balloon1 (qemu) info balloon balloon: actual=4096 (qemu) balloon 2048 (qemu) info balloon balloon: actual=2048 (qemu) device_del balloon1 (qemu) info balloon balloon: actual=4096 (qemu) balloon 2048 (qemu) info balloon balloon: actual=4096 (qemu) device_del balloon1 Device 'balloon1' not found (qemu) device_add virtio-balloon-pci,id=balloon1 Another balloon device already registered Device 'virtio-balloon-pci' could not be initialized (qemu) device_add virtio-balloon-pci,id=balloon2 Another balloon device already registered Device 'virtio-balloon-pci' could not be initialized Reported-by: Shaolong Hu Signed-off-by: Amit Shah --- hw/virtio-balloon.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/hw/virtio-balloon.c b/hw/virtio-balloon.c index 072a88a..5f8f4bd 100644 --- a/hw/virtio-balloon.c +++ b/hw/virtio-balloon.c @@ -303,6 +303,8 @@ VirtIODevice *virtio_balloon_init(DeviceState *dev) void virtio_balloon_exit(VirtIODevice *vdev) { VirtIOBalloon *s = DO_UPCAST(VirtIOBalloon, vdev, vdev); + + qemu_remove_balloon_handler(s); unregister_savevm(s->qdev, "virtio-balloon", s); virtio_cleanup(vdev); } -- 1.7.6