[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] virtio-9p: migrate virtio subsections
From: |
Greg Kurz |
Subject: |
Re: [Qemu-devel] [PATCH] virtio-9p: migrate virtio subsections |
Date: |
Thu, 24 Sep 2015 10:00:46 +0200 |
On Mon, 21 Sep 2015 10:09:34 +0200
Greg Kurz <address@hidden> wrote:
> On Sat, 19 Sep 2015 15:34:02 +0530
> "Aneesh Kumar K.V" <address@hidden> wrote:
>
> > Greg Kurz <address@hidden> writes:
> >
> > > In a cross-endian setup, the virtio-9p device has state in
> > > @device_endian. It
> > > must be migrated.
> > >
> > > Signed-off-by: Greg Kurz <address@hidden>
> >
> > 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...
>
Michael ? Any input ?
> > > ---
> > > 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);
>
>