qemu-devel
[Top][All Lists]
Advanced

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

Re: [RFC v2 2/9] net: use the function qemu_get_peer


From: Jason Wang
Subject: Re: [RFC v2 2/9] net: use the function qemu_get_peer
Date: Sat, 9 May 2020 10:19:36 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0


On 2020/5/9 上午12:32, Cindy Lu wrote:
user the qemu_get_peer to replace the old process


The title should be "vhost_net: use the function qemu_get_peer".

Thanks



Signed-off-by: Cindy Lu <address@hidden>
---
  hw/net/vhost_net.c | 14 +++++++++-----
  1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c
index 6b82803fa7..d1d421e3d9 100644
--- a/hw/net/vhost_net.c
+++ b/hw/net/vhost_net.c
@@ -306,7 +306,9 @@ int vhost_net_start(VirtIODevice *dev, NetClientState *ncs,
      BusState *qbus = BUS(qdev_get_parent_bus(DEVICE(dev)));
      VirtioBusState *vbus = VIRTIO_BUS(qbus);
      VirtioBusClass *k = VIRTIO_BUS_GET_CLASS(vbus);
+    struct vhost_net *net;
      int r, e, i;
+    NetClientState *peer;
if (!k->set_guest_notifiers) {
          error_report("binding does not support guest notifiers");
@@ -314,9 +316,9 @@ int vhost_net_start(VirtIODevice *dev, NetClientState *ncs,
      }
for (i = 0; i < total_queues; i++) {
-        struct vhost_net *net;
- net = get_vhost_net(ncs[i].peer);
+        peer = qemu_get_peer(ncs, i);
+        net = get_vhost_net(peer);
          vhost_net_set_vq_index(net, i * 2);
/* Suppress the masking guest notifiers on vhost user
@@ -335,7 +337,8 @@ int vhost_net_start(VirtIODevice *dev, NetClientState *ncs,
      }
for (i = 0; i < total_queues; i++) {
-        r = vhost_net_start_one(get_vhost_net(ncs[i].peer), dev);
+        peer = qemu_get_peer(ncs, i);
+        r = vhost_net_start_one(get_vhost_net(peer), dev);
if (r < 0) {
              goto err_start;
@@ -343,7 +346,7 @@ int vhost_net_start(VirtIODevice *dev, NetClientState *ncs,
if (ncs[i].peer->vring_enable) {
              /* restore vring enable state */
-            r = vhost_set_vring_enable(ncs[i].peer, ncs[i].peer->vring_enable);
+            r = vhost_set_vring_enable(peer, peer->vring_enable);
if (r < 0) {
                  goto err_start;
@@ -355,7 +358,8 @@ int vhost_net_start(VirtIODevice *dev, NetClientState *ncs,
err_start:
      while (--i >= 0) {
-        vhost_net_stop_one(get_vhost_net(ncs[i].peer), dev);
+        peer = qemu_get_peer(ncs , i);
+        vhost_net_stop_one(get_vhost_net(peer), dev);
      }
      e = k->set_guest_notifiers(qbus->parent, total_queues * 2, false);
      if (e < 0) {




reply via email to

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