From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55114) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YsXrY-0000DW-1m for qemu-devel@nongnu.org; Wed, 13 May 2015 10:42:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YsXrT-00066F-JI for qemu-devel@nongnu.org; Wed, 13 May 2015 10:42:19 -0400 Received: from e06smtp10.uk.ibm.com ([195.75.94.106]:33323) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YsXrT-00064i-9c for qemu-devel@nongnu.org; Wed, 13 May 2015 10:42:15 -0400 Received: from /spool/local by e06smtp10.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 13 May 2015 15:42:12 +0100 Received: from b06cxnps3074.portsmouth.uk.ibm.com (d06relay09.portsmouth.uk.ibm.com [9.149.109.194]) by d06dlp03.portsmouth.uk.ibm.com (Postfix) with ESMTP id 692CE1B0805F for ; Wed, 13 May 2015 15:42:56 +0100 (BST) Received: from d06av04.portsmouth.uk.ibm.com (d06av04.portsmouth.uk.ibm.com [9.149.37.216]) by b06cxnps3074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id t4DEgAjf60489816 for ; Wed, 13 May 2015 14:42:10 GMT Received: from d06av04.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av04.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id t4DEg9Ul012525 for ; Wed, 13 May 2015 08:42:10 -0600 From: Cornelia Huck Date: Wed, 13 May 2015 16:42:01 +0200 Message-Id: <1431528122-50960-1-git-send-email-cornelia.huck@de.ibm.com> Subject: [Qemu-devel] [PATCH RFC 0/1] virtio: fix config_vector migration issues List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Cornelia Huck , borntraeger@de.ibm.com, jjherne@linux.vnet.ibm.com, mst@redhat.com We've noticed a problem when migrating guests using virtio-ccw: the ballooner will stop working after migration. Turns out that the config_vector field was not migrated and still remained at its initial value on the target system - therefore no working config changed notifications. config_vector is located in VirtIODevice, so we assumed core would take care of migrating the value; virtio-pci does it itself. We cannot simply add new values to the virtio stream, so I introduced a new, optional, subsection only to be included when config_vector has actually been changed from its initial value. Not wanting to introduce problems with migrating virtio-pci based machines, I've introduced a callback for virtio-pci to override creation of this subsection. Migration for virtio-ccw based machines seems to be fixed with this one (ballooner continues to work on the target system), but I'd like confirmation whether this setup makes sense for virtio-pci as well. Cornelia Huck (1): virtio: migrate config_vector hw/virtio/virtio-pci.c | 14 ++++++++++++++ hw/virtio/virtio.c | 25 +++++++++++++++++++++++++ include/hw/virtio/virtio-bus.h | 5 +++++ 3 files changed, 44 insertions(+) -- 2.1.4