[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] virtio-9p: add savem handlers
From: |
Cornelia Huck |
Subject: |
Re: [Qemu-devel] [PATCH] virtio-9p: add savem handlers |
Date: |
Thu, 12 Nov 2015 13:50:20 +0100 |
On Thu, 12 Nov 2015 09:28:21 +0100
Greg Kurz <address@hidden> wrote:
> On Thu, 22 Oct 2015 19:38:42 +0200
> Greg Kurz <address@hidden> wrote:
>
> > We don't support migration of mounted 9p shares. This is handled by a
> > migration blocker.
> >
> > One would expect, however, to be able to migrate if the share is unmounted.
> > Unfortunately virtio-9p-device does not register savevm handlers at all !
> > Migration succeeds and leaves the guest with a dangling device...
> >
> > This patch simply registers migration handlers for virtio-9p-device. Whether
> > migration is possible or not still depends on the migration blocker.
> >
> > Signed-off-by: Greg Kurz <address@hidden>
> > ---
>
> Ping ?
>
> > Michael, Aneesh,
> >
> > This is the same patch minus the call to unregister_savevm() since we don't
> > have an unrealize handler.
> >
> > I decided to simply drop all the other patches. Hot-unplug support is
> > totally
> > missing and definitely needs more work. I'll try to come up with a solution
> > in its own series.
> >
> > Cheers.
> >
> > --
> > Greg
> >
> > ---
> > 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);
Probably dumb question: Is there no state in the V9fsState, or is it
simply irrelevant if there are no mounts?