Re: [Patch net-next-2.6] netpoll: disable netpoll when enslave a device
From: Cong Wang <hidden>
Date: 2011-05-19 05:14:01
Also in:
lkml
于 2011年05月18日 18:56, Neil Horman 写道:
On Wed, May 18, 2011 at 06:00:35PM +0800, Amerigo Wang wrote:
...
quoted
- case NETDEV_GOING_DOWN: case NETDEV_BONDING_DESLAVE: + case NETDEV_ENSLAVE: nt->enabled = 0; stopped = true; break;This wasn't introduced by this patch, but looking at it made me realize that nt->enabled, if it passes through this code path, doesn't properly track weather or not netpoll_setup has been called on this interface. If you look at drop_netconsole_target, you'll see we only call netpoll_cleanup_target if nt->enabled is set. We should probably change the nt->enabled check there, and in store_enabled to be if (nt->np.dev), like we do in the NETDEV_UNREGISTER case in netconsole_netdev_event.
Yeah, also note that we can change ->enabled via configfs too. I guess we probably need to fix this in another patch...
quoted
+#define NETDEV_ENSLAVE 0x0014Nit: Shouldn't this be NETDEV_BONDING_ENSLAVE, to keep it in line with NETDEV_BONDING_DESLAVE above?
Actually that is my first thought, but I plan to use this in bridge case too, because using netconsole on a device underlying a bridge makes little sense too. Thus, I prefer NETDEV_ENSLAVE to NETDEV_BONDING_ENSLAVE.
quoted
#define SYS_DOWN 0x0001 /* Notify of system down */ #define SYS_RESTART SYS_DOWNOther than those two points, this looks good to me
Thanks for review.