qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] virtio-9p: add savem handlers


From: Greg Kurz
Subject: Re: [Qemu-devel] [PATCH] virtio-9p: add savem handlers
Date: Thu, 12 Nov 2015 17:06:33 +0100

On Thu, 12 Nov 2015 15:39:02 +0100
Cornelia Huck <address@hidden> wrote:

> On Thu, 12 Nov 2015 15:25:33 +0100
> Greg Kurz <address@hidden> wrote:
> 
> > On Thu, 12 Nov 2015 13:50:20 +0100
> > Cornelia Huck <address@hidden> wrote:
> > 
> > > 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?
> > 
> > My understanding is that V9fsState has state but it is not used when
> > there are no mounts... maybe worth mentioning in a comment or in the
> > changelog ?
> 
> If V9fsState will look sensible after migration if there are no mounts,
> I think it's worth adding a comment in the code.

Heh Michael just sent a pull request with the current version of the patch :)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]