All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH linux-2.6.18-xen] make netloop permanent
@ 2010-12-09 11:21 Laszlo Ersek
  0 siblings, 0 replies; only message in thread
From: Laszlo Ersek @ 2010-12-09 11:21 UTC (permalink / raw)
  To: xen-devel@lists.xensource.com

Hi,

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].

Thanks for considering,
lacos

[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

diff -r 4d8ca2afea93 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	Wed Dec 08 18:27:41 2010 +0100
@@ -290,23 +290,6 @@
 	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 @@
 
 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");

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2010-12-09 11:21 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-09 11:21 [PATCH linux-2.6.18-xen] make netloop permanent Laszlo Ersek

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.