|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [linux-2.6.18-xen] xen/netloop: make netloop permanent
# HG changeset patch
# User Keir Fraser <keir@xxxxxxx>
# Date 1291978111 0
# Node ID f3d9d0deec4e192bfed66e26de11d2569ebc3615
# Parent 4d8ca2afea936b7f47cb385fa67a110828083b15
xen/netloop: make netloop permanent
with reference to RH BZ#567540 [0], this patch makes the netloop
module permanent (like netback is currently). It reverts parts of
xen-unstable c/s 9019:271cb04a4f2b [1] [2] (though that has a typo:
"__init clean_loopback", so it was probably changed later too).
The patch fixes the problem of "rmmod netloop" hanging, resulting in
blocked tasks and inability to shut down cleanly:
... kernel: unregister_netdevice: waiting for veth4 to become
free. Usage count = 1
The problem was also reported for Debian [3] and on the Fedora-xen
mailing list [4].
[0] https://bugzilla.redhat.com/show_bug.cgi?id=567540
[1] http://lists.xensource.com/archives/html/xen-devel/2006-02/msg01033.html
[2] http://xenbits.xensource.com/xen-unstable.hg?rev/271cb04a4f2b
[3] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=425703
[4] http://www.redhat.com/archives/fedora-xen/2007-April/msg00074.html
From: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Keir Fraser <keir@xxxxxxx>
---
drivers/xen/netback/loopback.c | 27 ---------------------------
1 files changed, 27 deletions(-)
diff -r 4d8ca2afea93 -r f3d9d0deec4e drivers/xen/netback/loopback.c
--- a/drivers/xen/netback/loopback.c Tue Dec 07 18:35:16 2010 +0000
+++ b/drivers/xen/netback/loopback.c Fri Dec 10 10:48:31 2010 +0000
@@ -290,23 +290,6 @@ static int __init make_loopback(int i)
return err;
}
-static void __exit clean_loopback(int i)
-{
- struct net_device *dev1, *dev2;
- char dev_name[IFNAMSIZ];
-
- sprintf(dev_name, "vif0.%d", i);
- dev1 = dev_get_by_name(dev_name);
- sprintf(dev_name, "veth%d", i);
- dev2 = dev_get_by_name(dev_name);
- if (dev1 && dev2) {
- unregister_netdev(dev2);
- unregister_netdev(dev1);
- free_netdev(dev2);
- free_netdev(dev1);
- }
-}
-
static int __init loopback_init(void)
{
int i, err = 0;
@@ -323,14 +306,4 @@ static int __init loopback_init(void)
module_init(loopback_init);
-static void __exit loopback_exit(void)
-{
- int i;
-
- for (i = nloopbacks; i-- > 0; )
- clean_loopback(i);
-}
-
-module_exit(loopback_exit);
-
MODULE_LICENSE("Dual BSD/GPL");
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [linux-2.6.18-xen] xen/netloop: make netloop permanent,
Xen patchbot-linux-2.6.18-xen <=
|
|
|
|
|