Subject: Re: BUG: bonding module can only be loaded once

From: Patrick McHardy <[email-masked]>
Date: Tue, 09 Jun 2009 17:33:07 +0200

Stephen Hemminger wrote:
>> --- a/drivers/net/bonding/bond_main.c
>> +++ b/drivers/net/bonding/bond_main.c
>> @@ -5203,7 +5203,7 @@ static int __init bonding_init(void)
>>  
>>  	res = bond_create_sysfs();
>>  	if (res)
>> -		goto err;
>> +		pr_info("Loading bonding module without sysfs interface\n");
>>  
>>  	register_netdevice_notifier(&bond_netdev_notifier);
>>  	register_inetaddr_notifier(&bond_inetaddr_notifier);
> 
> That only makes it limp along, and there still are warnings.
> The point is that who ever added the WARN() in proc and sysfs, effectively
> broke a bonding usage model.

It did already dump the stack before that change, didn't it?

In any case, this is not the first time this has been broken and the
fundamental reason is in my opinion that the bonding interface is
broken to begin with. The module aliasing thing is complete crap
and should have been phased out long ago. At this point its probably
not worth anymore to migrate people to the sysfs interface though,
the best thing would be to add an rtnl_link interface and phase out
both.