From: Greg Kurz <gkurz@linux.vnet.ibm.com>
To: Kevin Wolf <kwolf@redhat.com>,
	Anthony Liguori <aliguori@amazon.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Amit Shah <amit.shah@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Cc: "Juan Quintela" <quintela@redhat.com>,
	"Fam Zheng" <famz@redhat.com>, "Alexander Graf" <agraf@suse.de>,
	"Andreas Färber" <afaerber@suse.de>,
	qemu-devel@nongnu.org
Subject: [Qemu-devel] [PATCH RFC 2/8] virtio-net: implement per-device migration calls
Date: Mon, 19 May 2014 10:38:23 +0200	[thread overview]
Message-ID: <20140519083823.22955.38625.stgit@bahia.local> (raw)
In-Reply-To: <20140519063132.22955.63563.stgit@bahia.local>
Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com>
---
 hw/net/virtio-net.c |   22 ++++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index e0dc544..d319ac2 100644
--- a/hw/net/virtio-net.c
+++ b/hw/net/virtio-net.c
@@ -1263,7 +1263,6 @@ static void virtio_net_set_multiqueue(VirtIONet *n, int multiqueue)
 
 static void virtio_net_save(QEMUFile *f, void *opaque)
 {
-    int i;
     VirtIONet *n = opaque;
     VirtIODevice *vdev = VIRTIO_DEVICE(n);
 
@@ -1271,6 +1270,12 @@ static void virtio_net_save(QEMUFile *f, void *opaque)
      * it might keep writing to memory. */
     assert(!n->vhost_started);
     virtio_save(vdev, f);
+}
+
+static void virtio_net_save_device(VirtIODevice *vdev, QEMUFile *f)
+{
+    VirtIONet *n = VIRTIO_NET(vdev);
+    int i;
 
     qemu_put_buffer(f, n->mac, ETH_ALEN);
     qemu_put_be32(f, n->vqs[0].tx_waiting);
@@ -1306,15 +1311,18 @@ static int virtio_net_load(QEMUFile *f, void *opaque, int version_id)
 {
     VirtIONet *n = opaque;
     VirtIODevice *vdev = VIRTIO_DEVICE(n);
-    int ret, i, link_down;
 
     if (version_id < 2 || version_id > VIRTIO_NET_VM_VERSION)
         return -EINVAL;
 
-    ret = virtio_load(vdev, f, version_id);
-    if (ret) {
-        return ret;
-    }
+    return virtio_load(vdev, f, version_id);
+}
+
+static int virtio_net_load_device(VirtIODevice *vdev, QEMUFile *f,
+                                  int version_id)
+{
+    VirtIONet *n = VIRTIO_NET(vdev);
+    int i, link_down;
 
     qemu_get_buffer(f, n->mac, ETH_ALEN);
     n->vqs[0].tx_waiting = qemu_get_be32(f);
@@ -1651,6 +1659,8 @@ static void virtio_net_class_init(ObjectClass *klass, void *data)
     vdc->set_status = virtio_net_set_status;
     vdc->guest_notifier_mask = virtio_net_guest_notifier_mask;
     vdc->guest_notifier_pending = virtio_net_guest_notifier_pending;
+    vdc->load = virtio_net_load_device;
+    vdc->save = virtio_net_save_device;
 }
 
 static const TypeInfo virtio_net_info = {
next prev parent reply	other threads:[~2014-05-19  8:38 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-19  8:38 [Qemu-devel] [PATCH RFC V2 0/8] virtio: migrate new properties Greg Kurz
2014-05-19  8:38 ` [Qemu-devel] [PATCH RFC 1/8] virtio: introduce device specific migration calls Greg Kurz
2014-05-19  8:38 ` Greg Kurz [this message]
2014-05-19  8:38 ` [Qemu-devel] [PATCH RFC 3/8] virtio-blk: implement per-device " Greg Kurz
2014-05-19  8:38 ` [Qemu-devel] [PATCH RFC 4/8] virtio-serial: " Greg Kurz
2014-05-19  8:38 ` [Qemu-devel] [PATCH RFC 5/8] virtio-balloon: " Greg Kurz
2014-05-19  8:38 ` [Qemu-devel] [PATCH RFC 6/8] virtio-rng: " Greg Kurz
2014-05-19  8:39 ` [Qemu-devel] [PATCH RFC 7/8] virtio: add subsections to the migration stream Greg Kurz
2014-05-19  8:39 ` [Qemu-devel] [PATCH RFC 8/8] virtio: add endian-ambivalent support to VirtIODevice Greg Kurz
2014-05-19 13:06   ` Greg Kurz
2014-05-19 17:06     ` Andreas Färber
2014-05-19 17:32       ` Greg Kurz
2014-05-19 18:07       ` Dr. David Alan Gilbert
2014-05-19 12:02 ` [Qemu-devel] [PATCH RFC V2 0/8] virtio: migrate new properties Alexander Graf
2014-05-19 12:45   ` Greg Kurz
2014-05-19 13:07     ` Alexander Graf
2014-05-19 15:10   ` Michael S. Tsirkin
2014-05-19 15:36     ` Alexander Graf
2014-05-19 15:50       ` Michael S. Tsirkin
2014-05-19 15:40     ` Andreas Färber
2014-05-19 15:53       ` Michael S. Tsirkin
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=20140519083823.22955.38625.stgit@bahia.local \
    --to=gkurz@linux.vnet.ibm.com \
    --cc=afaerber@suse.de \
    --cc=agraf@suse.de \
    --cc=aliguori@amazon.com \
    --cc=amit.shah@redhat.com \
    --cc=famz@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=stefanha@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).