[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |