qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] Make netdev_del delete the netdev even when it'


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH] Make netdev_del delete the netdev even when it's in use
Date: Mon, 14 Jun 2010 11:27:27 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100423 Lightning/1.0b1 Thunderbird/3.0.4

On 06/11/2010 07:21 AM, Markus Armbruster wrote:
To hot-unplug guest and host part of a network device, you do:

     device_del NIC-ID
     netdev_del NETDEV-ID

For PCI devices, device_del merely tells ACPI to unplug the device.
The device goes away for real only after the guest processed the ACPI
unplug event.

You have to wait until then (e.g. by polling info pci) before you can
unplug the netdev.  Not good.

Fix by removing the "in use" check from do_netdev_del().  Deleting a
netdev while it's in use is safe; packets simply get routed to the bit
bucket.

Signed-off-by: Markus Armbruster<address@hidden>

Applied.  Thanks.

Regards,

Anthony Liguori
---
I can add a force option instead, if you think that's better.

  net.c |    4 ----
  1 files changed, 0 insertions(+), 4 deletions(-)

diff --git a/net.c b/net.c
index 4cb93ed..0703698 100644
--- a/net.c
+++ b/net.c
@@ -1221,10 +1221,6 @@ int do_netdev_del(Monitor *mon, const QDict *qdict, 
QObject **ret_data)
          qerror_report(QERR_DEVICE_NOT_FOUND, id);
          return -1;
      }
-    if (vc->peer) {
-        qerror_report(QERR_DEVICE_IN_USE, id);
-        return -1;
-    }
      qemu_del_vlan_client(vc);
      qemu_opts_del(qemu_opts_find(&qemu_netdev_opts, id));
      return 0;




reply via email to

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