All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 00/13] virtio migration: Flip outer layer to vmstate
@ 2016-07-12 12:19 Dr. David Alan Gilbert (git)
  2016-07-12 12:19 ` [Qemu-devel] [PATCH v2 01/13] virtio-net: Remove old migration version support Dr. David Alan Gilbert (git)
                   ` (12 more replies)
  0 siblings, 13 replies; 20+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2016-07-12 12:19 UTC (permalink / raw)
  To: qemu-devel, mst, amit.shah, quintela; +Cc: cornelia.huck, kraxel

From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>

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

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2016-07-15  9:53 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-12 12:19 [Qemu-devel] [PATCH v2 00/13] virtio migration: Flip outer layer to vmstate Dr. David Alan Gilbert (git)
2016-07-12 12:19 ` [Qemu-devel] [PATCH v2 01/13] virtio-net: Remove old migration version support Dr. David Alan Gilbert (git)
2016-07-12 12:19 ` [Qemu-devel] [PATCH v2 02/13] virtio-serial: " Dr. David Alan Gilbert (git)
2016-07-12 12:19 ` [Qemu-devel] [PATCH v2 03/13] virtio: Migration helper function and macro Dr. David Alan Gilbert (git)
2016-07-12 12:19 ` [Qemu-devel] [PATCH v2 04/13] virtio-scsi: Wrap in vmstate Dr. David Alan Gilbert (git)
2016-07-12 12:19 ` [Qemu-devel] [PATCH v2 05/13] virtio-blk: " Dr. David Alan Gilbert (git)
2016-07-12 12:19 ` [Qemu-devel] [PATCH v2 06/13] virtio-rng: " Dr. David Alan Gilbert (git)
2016-07-12 12:19 ` [Qemu-devel] [PATCH v2 07/13] virtio-balloon: " Dr. David Alan Gilbert (git)
2016-07-12 12:19 ` [Qemu-devel] [PATCH v2 08/13] virtio-net: " Dr. David Alan Gilbert (git)
2016-07-12 12:19 ` [Qemu-devel] [PATCH v2 09/13] virtio-serial: " Dr. David Alan Gilbert (git)
2016-07-12 12:19 ` [Qemu-devel] [PATCH v2 10/13] 9pfs: " Dr. David Alan Gilbert (git)
2016-07-12 12:19 ` [Qemu-devel] [PATCH v2 11/13] virtio-input: " Dr. David Alan Gilbert (git)
2016-07-12 12:19 ` [Qemu-devel] [PATCH v2 12/13] virtio-gpu: " Dr. David Alan Gilbert (git)
2016-07-12 13:54   ` Gerd Hoffmann
2016-07-12 14:02     ` Cornelia Huck
2016-07-12 15:09       ` Gerd Hoffmann
2016-07-12 15:12         ` Dr. David Alan Gilbert
2016-07-14 16:04         ` Dr. David Alan Gilbert
2016-07-15  9:53           ` Gerd Hoffmann
2016-07-12 12:19 ` [Qemu-devel] [PATCH v2 13/13] virtio: Update migration docs Dr. David Alan Gilbert (git)

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.