From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33281) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zi0y5-0004cP-KV for qemu-devel@nongnu.org; Fri, 02 Oct 2015 10:05:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zi0y0-0002Aj-Kq for qemu-devel@nongnu.org; Fri, 02 Oct 2015 10:05:49 -0400 Received: from mx1.redhat.com ([209.132.183.28]:42851) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zi0y0-0002AE-F6 for qemu-devel@nongnu.org; Fri, 02 Oct 2015 10:05:44 -0400 Date: Fri, 2 Oct 2015 17:05:40 +0300 From: "Michael S. Tsirkin" Message-ID: <20151002170520-mutt-send-email-mst@redhat.com> References: <1443793405-15190-1-git-send-email-mst@redhat.com> <1443793405-15190-10-git-send-email-mst@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1443793405-15190-10-git-send-email-mst@redhat.com> Subject: Re: [Qemu-devel] [PULL 09/15] virtio-9p: migrate virtio subsections List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Peter Maydell , "Aneesh Kumar K.V" , Greg Kurz On Fri, Oct 02, 2015 at 04:45:36PM +0300, Michael S. Tsirkin wrote: > From: Greg Kurz > > In a cross-endian setup, the virtio-9p device has state in @device_endian. It > must be migrated. This patch just adds the minimal support to live migrate > generic virtio subsections where @device_endian is handled. > > Please note that this is unrelated to the fact that we block migration when > the 9p share is mounted in the guest. It fixes the case where we want to > migrate an unactive 9p device (not mounted in the guest) to a QEMU with > different endianness: the migration currently succeeds but leaves the device > in an inconsistent state that causes mount to hang until we reboot the guest. > > Signed-off-by: Greg Kurz > Reviewed-by: Michael S. Tsirkin > Signed-off-by: Michael S. Tsirkin I rebased and dropped this at Greg's request. > --- > hw/9pfs/virtio-9p-device.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/hw/9pfs/virtio-9p-device.c b/hw/9pfs/virtio-9p-device.c > index 93a407c..e3abcfa 100644 > --- a/hw/9pfs/virtio-9p-device.c > +++ b/hw/9pfs/virtio-9p-device.c > @@ -43,6 +43,16 @@ static void virtio_9p_get_config(VirtIODevice *vdev, uint8_t *config) > g_free(cfg); > } > > +static void virtio_9p_save(QEMUFile *f, void *opaque) > +{ > + virtio_save(VIRTIO_DEVICE(opaque), f); > +} > + > +static int virtio_9p_load(QEMUFile *f, void *opaque, int version_id) > +{ > + return virtio_load(VIRTIO_DEVICE(opaque), f, version_id); > +} > + > static void virtio_9p_device_realize(DeviceState *dev, Error **errp) > { > VirtIODevice *vdev = VIRTIO_DEVICE(dev); > @@ -130,6 +140,7 @@ static void virtio_9p_device_realize(DeviceState *dev, Error **errp) > } > v9fs_path_free(&path); > > + register_savevm(dev, "virtio-9p", -1, 1, virtio_9p_save, virtio_9p_load, s); > return; > out: > g_free(s->ctx.fs_root); > -- > MST >