On Sat, 19 Sep 2015 15:34:02 +0530
"Aneesh Kumar K.V" <aneesh.ku...@linux.vnet.ibm.com> wrote:

> Greg Kurz <gk...@linux.vnet.ibm.com> writes:
> 
> > In a cross-endian setup, the virtio-9p device has state in @device_endian. 
> > It
> > must be migrated.
> >
> > Signed-off-by: Greg Kurz <gk...@linux.vnet.ibm.com>
> 
> With 9p mounted, we don't support qemu migration. We have
> migration blocker added in v9fs_attach. 
> 

Ok I should have been more precise... If you unmount the 9p share, then
migrate, then try to remount, you end up with a hung mount command because
@device_endian has the wrong value...

> > ---
> >  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 93a407c45926..e3abcfaffb2a 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);


Reply via email to