From: "Dr. David Alan Gilbert (git)" <dgilbert@redhat.com>
To: qemu-devel@nongnu.org, mst@redhat.com, amit.shah@redhat.com,
quintela@redhat.com
Cc: cornelia.huck@del.ibm.com, kraxel@redhat.com
Subject: [Qemu-devel] [PATCH v2 00/13] virtio migration: Flip outer layer to vmstate
Date: Tue, 12 Jul 2016 13:19:12 +0100 [thread overview]
Message-ID: <1468325965-22818-1-git-send-email-dgilbert@redhat.com> (raw)
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
next reply other threads:[~2016-07-12 12:19 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-12 12:19 Dr. David Alan Gilbert (git) [this message]
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)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1468325965-22818-1-git-send-email-dgilbert@redhat.com \
--to=dgilbert@redhat.com \
--cc=amit.shah@redhat.com \
--cc=cornelia.huck@del.ibm.com \
--cc=kraxel@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).