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 09:28:21 +0100

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);
> 
> 




reply via email to

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