qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH v2 00/13] virtio migration: Flip outer layer to vmst


From: Dr. David Alan Gilbert (git)
Subject: [Qemu-devel] [PATCH v2 00/13] virtio migration: Flip outer layer to vmstate
Date: Tue, 12 Jul 2016 13:19:12 +0100

From: "Dr. David Alan Gilbert" <address@hidden>

Hi,
  This series converts the outer most layer of virtio to
use VMState macros;  this is the easy bit, but I'm hoping that
having done that, the next trick is to nibble away at the virtio_save/load
functions and all of the zillions of device/bus helpers.

I think the first two patches are the most controversial;
they remove migration support for old version of virtio-net and virtio-serial;
(for virtio-net versions prior to 0.11 and for virtio-serial prior to 0.13).
I'm working on the basis that migration has bit rotted enough so
that the streams aren't migration compatible for that long back
on upstream - but if anyone knows otherwise please shout.

The reason for doing those is that the virtio structure makes
it a bit tricky to pass the outer device version number down
through VMState to the device specific code (I can do it
as a hack if necessary using a dummy is_needed function);
and with -net and -serial compatibility sorted I think
every other device just supports a single version.

My main reason for doing this is to get rid of the
calls to register_savevm ('going to disappear as soon..' since 2010)

It's lightly tested using the magic line:
./x86_64-softmmu/qemu-system-x86_64 -nographic -machine pc-i440fx-2.6,accel=kvm 
-cpu qemu64 -m 2048M -drive file=/home/vmimages/f20.img,if=none,id=drivea 
-device virtio-scsi,id=scsi -device scsi-hd,drive=drivea -device virtio-rng 
-device virtio-serial -chardev file,id=test,path=/tmp/testfile -device 
virtconsole,chardev=test,name=foo -virtfs 
local,path=/home,security_model=passthrough,mount_tag=host_share  -device 
virtio-gpu  -drive file=/home/vmimages/jeos-19-64.qcow2,id=jeos,if=none -device 
virtio-blk,drive=jeos  -device virtio-balloon

Thoughts?

Dave

v2
  Just remerged to current head; only changes are in 0001/0008 for virtio-net
  to merge around the changes in the same function.
  Added R-b's

Dr. David Alan Gilbert (13):
  virtio-net: Remove old migration version support
  virtio-serial: Remove old migration version support
  virtio: Migration helper function and macro
  virtio-scsi: Wrap in vmstate
  virtio-blk: Wrap in vmstate
  virtio-rng: Wrap in vmstate
  virtio-balloon: Wrap in vmstate
  virtio-net: Wrap in vmstate
  virtio-serial: Wrap in vmstate
  9pfs: Wrap in vmstate
  virtio-input: Wrap in vmstate
  virtio-gpu: Wrap in vmstate
  virtio: Update migration docs

 docs/virtio-migration.txt   |   6 ++-
 hw/9pfs/virtio-9p-device.c  |  14 +++---
 hw/block/virtio-blk.c       |  16 +++----
 hw/char/virtio-serial-bus.c |  62 +++++++++------------------
 hw/display/virtio-gpu.c     |  17 +++-----
 hw/input/virtio-input.c     |  26 +++--------
 hw/net/virtio-net.c         | 102 +++++++++++++++++---------------------------
 hw/scsi/virtio-scsi.c       |  21 +++------
 hw/virtio/virtio-balloon.c  |  19 +++------
 hw/virtio/virtio-rng.c      |  20 +++------
 hw/virtio/virtio.c          |   6 +++
 include/hw/virtio/virtio.h  |  20 +++++++++
 12 files changed, 130 insertions(+), 199 deletions(-)

-- 
2.7.4




reply via email to

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