[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL 09/15] virtio-9p: migrate virtio subsections
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PULL 09/15] virtio-9p: migrate virtio subsections |
Date: |
Fri, 2 Oct 2015 17:05:40 +0300 |
On Fri, Oct 02, 2015 at 04:45:36PM +0300, Michael S. Tsirkin wrote:
> From: Greg Kurz <address@hidden>
>
> In a cross-endian setup, the virtio-9p device has state in @device_endian. It
> must be migrated. This patch just adds the minimal support to live migrate
> generic virtio subsections where @device_endian is handled.
>
> Please note that this is unrelated to the fact that we block migration when
> the 9p share is mounted in the guest. It fixes the case where we want to
> migrate an unactive 9p device (not mounted in the guest) to a QEMU with
> different endianness: the migration currently succeeds but leaves the device
> in an inconsistent state that causes mount to hang until we reboot the guest.
>
> Signed-off-by: Greg Kurz <address@hidden>
> Reviewed-by: Michael S. Tsirkin <address@hidden>
> Signed-off-by: Michael S. Tsirkin <address@hidden>
I rebased and dropped this at Greg's request.
> ---
> 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 93a407c..e3abcfa 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);
> --
> MST
>
- [Qemu-devel] [PULL 08/15] virtio: Notice when the system doesn't support MSIx at all, (continued)
- [Qemu-devel] [PULL 08/15] virtio: Notice when the system doesn't support MSIx at all, Michael S. Tsirkin, 2015/10/08
- [Qemu-devel] [PULL 11/15] vhost-user: unit test for new messages, Michael S. Tsirkin, 2015/10/08
- [Qemu-devel] [PULL 12/15] memhp: extend address auto assignment to support gaps, Michael S. Tsirkin, 2015/10/08
- [Qemu-devel] [PULL 07/15] pc: Add a comment explaining why pc_compat_2_4() doesn't exist, Michael S. Tsirkin, 2015/10/08
- [Qemu-devel] [PULL 03/15] virtio-net: correctly drop truncated packets, Michael S. Tsirkin, 2015/10/08
- [Qemu-devel] [PULL 05/15] oslib: allocate PROT_NONE pages on top of RAM, Michael S. Tsirkin, 2015/10/08
- [Qemu-devel] [PULL 10/15] vhost-user-test: do not reinvent glib-compat.h, Michael S. Tsirkin, 2015/10/08
- [Qemu-devel] [PULL 13/15] pc: memhp: force gaps between DIMM's GPA, Michael S. Tsirkin, 2015/10/08
- [Qemu-devel] [PULL 02/15] virtio: introduce virtqueue_discard(), Michael S. Tsirkin, 2015/10/08
- [Qemu-devel] [PULL 09/15] virtio-9p: migrate virtio subsections, Michael S. Tsirkin, 2015/10/08
- Re: [Qemu-devel] [PULL 09/15] virtio-9p: migrate virtio subsections,
Michael S. Tsirkin <=
- [Qemu-devel] [PULL 04/15] oslib: rework anonimous RAM allocation, Michael S. Tsirkin, 2015/10/08
- [Qemu-devel] [PULL 15/15] vhost-user-test: fix predictable filename on tmpfs, Michael S. Tsirkin, 2015/10/08
- [Qemu-devel] [PULL 14/15] vhost-user-test: use tmpfs by default, Michael S. Tsirkin, 2015/10/08