From: Don Hiatt <Don_Hiatt@pm...> - 2007-03-22 18:02:06
Thank you so very much for such a clear explanation and
a clever hack to workaround the problem. :) I have just been
reading "Documentation/networking/bonding.txt" and it also
looks like removing/reinserting the bonding module is no longer
required because the interface can be configured dynamically via
Thanks again Sam!
> -----Original Message-----
> From: Sam Hopkins [mailto:sah@...]
> Sent: Thursday, March 22, 2007 9:50 AM
> To: Don Hiatt; Aoetools-discuss@...
> Subject: Re: [Aoetools-discuss] AoE over bonded interfaces?
> Hi Don,
> That's not a stupid question at all. It's actually quite a
> sticky wicket (I love that phrase).
> Unfortunately your assessment is spot on. When an aoe device
> is discovered on a particular interface, a pointer to that
> interface is kept in the aoe device structure to make
> processing easier. Since we don't use the dev_get (increase
> reference) / dev_put (release
> reference) functions to tell the kernel that we've done this,
> we create a situation where we'll reference a bad pointer
> when the device structure is removed on module unload.
> Should we use dev_get to avoid this, we'll need a way to have
> the aoe driver stop using an interface across all devices so
> you can rmmod a module for a network device. This really
> should be done (arguably upon setting the aoe-interface
> list), but we just haven't gotten around to it. It requires
> a fair amount of restructuring and we've been pushing off
> attacking the problem until we absolutely must.
> I can offer a workaround, though. First, make sure all aoe
> devices using the bond are closed (not in use). Then change
> the interface list so the bond is not a usable interface (or
> set it to something silly and stop aoe altogether). Lastly,
> run 'aoe-flush -a' to clean out all unused devices, thereby
> releasing any pointers to the bonded device. You should then
> be able to rmmod the module safely.
> I'm not very familiar with linux bonding, but changing
> configuration bits like the ip address, mac address, etc,
> shouldn't cause the interface pointer used by aoe to become invalid.
> > Hopefully this isn't too stupid of a question but... :-)
> > Lets say you create a RAID using a few AoE disks over a bonded
> > interface (bond0) and then decide take the link down and restart it
> > and in the process you "rmmod bonding; insmod bonding"
> wouldn't this
> > be a bad idea as the device "bond0" is being pulled out from under
> > AoE?
> > But, on the other hand, if you simply change the IP address
> of bond0
> > with rebinding the interface, this seems like it should just work?
> > Sorry for the silly questions, but my knowledge of bonded
> > if very weak.
> > Cheers!
> > Don
Get latest updates about Open Source Projects, Conferences and News.