Re: [Patch net-next-2.6] netpoll: disable netpoll when enslave adevice

From: Cong Wang
Date: Thu May 19 2011 - 01:14:11 EST


ä 2011å05æ18æ 18:56, Neil Horman åé:
On Wed, May 18, 2011 at 06:00:35PM +0800, Amerigo Wang wrote:
...
- 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...


+#define NETDEV_ENSLAVE 0x0014

Nit:
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.


#define SYS_DOWN 0x0001 /* Notify of system down */
#define SYS_RESTART SYS_DOWN



Other than those two points, this looks good to me

Thanks for review.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/