Re: [PATCH] Module use count must be updated as bridges arecreated/destroyed

From: Stephen Hemminger
Date: Thu Sep 27 2007 - 10:49:06 EST


On Thu, 27 Sep 2007 08:40:10 +0100
"Jan Beulich" <jbeulich@xxxxxxxxxx> wrote:

> >>> Stephen Hemminger <shemminger@xxxxxxxxxxxxxxxxxxxx> 26.09.07 19:12 >>>
> >On Wed, 26 Sep 2007 17:08:19 +0100
> >"Jan Beulich" <jbeulich@xxxxxxxxxx> wrote:
> >
> >> >>> Stephen Hemminger <shemminger@xxxxxxxxxxxxxxxxxxxx> 26.09.07 17:37 >>>
> >> >On Wed, 26 Sep 2007 08:53:27 +0100
> >> >"Jan Beulich" <jbeulich@xxxxxxxxxx> wrote:
> >> >
> >> >> Otherwise 'modprobe -r' on a module having a dependency on bridge will
> >> >> implicitly unload bridge, bringing down all connectivity that was
> >> >> using bridges.
> >> >>
> >> >> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
> >> >>
> >> >
> >> >No, network devices don't do reference counting.
> >> >What is the dependency? Where is the source of the module interacting
> >> >with the bridge?
> >>
> >> On a Xen system, I loaded and then unloaded ebtable_broute. The unload
> >> implicitly unloaded bridge, destroying the network. The only way I could see
> >> to avoid the implicit unload was to bump the reference count on bridge
> >> creation. Otherwise I would have to ask why bridge has a zero reference
> >> count despite a bridge being configured.
> >>
> >> Jan
> >
> >Sounds like a module utilities problem since unloading one module doesn't
> >normally unload others.
>
> I have to disagree here - 'modprobe -r' is specifically unloading all modules the
> specified one references as long as they have a use count of zero. The
> difference to other networking modules is that the latter normally don't export
> symbols, and hence don't have dependent modules (and thus cannot be
> subject of implicit unloading). Bridge does have dependents, and hence must
> avoid implicit unloading by managing its use count.

I want keep the behavior that:
modprobe -r bridge
removes all bridges. It is too useful and may already be in some user scripts.


--
Stephen Hemminger <shemminger@xxxxxxxxxxxxxxxxxxxx>
-
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/