xen-devel.lists.xenproject.org archive mirror
 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 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).