Because mod->usecount may be a totally inadequate way of determining
if a module is busy. How does it work for LSM, for example?
> There's the other issue of symmetry. If you allocate memory, in
> start, do you clean it up in stop or exit?
Actually, I'm going to press you on why you think you even need a
two stage stop. I know you have your reasons, but I doubt any of
the effects you aim at cannot be achieved with a single stage
stop/exit. Could you please summarize the argument in favor of the
two stage stop?
> Similarly for other
> resources: you call mod->exit() every time start fails, so that is
> supposed to check that mod->start() succeeded?
He does? That's not right. ->start should clean up after itself if
it fails, like any other good Linux citizen.
> Of course, separating start into "init" and "start" allows you to
> solve the half-initialized problem as well as clarify the rules.
I doubt it gives any new capability at all. The same with the
entrenched separation at the user level between create and init
module: what does it give you that an error exit from a single
create/init would not? Sure, I know it's not going to change,
but I'd like to know what the thinking was, and especially, if
there's a non-bogus reason, I'd like to know it.
-- Daniel - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/