Thread: Re: [Aoetools-discuss] AoE over bonded interfaces?
Brought to you by:
ecashin,
elcapitansam
From: Don H. <Don...@pm...> - 2007-03-22 18:02:06
|
Hi Sam, 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 SYSFS. Thanks again Sam! Cheers, don > -----Original Message----- > From: Sam Hopkins [mailto:sa...@co...] > Sent: Thursday, March 22, 2007 9:50 AM > To: Don Hiatt; Aoe...@li... > 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. > > Cheers, > > Sam > > > 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 > interfaces > > if very weak. > > > > Cheers! > > > > Don > |