Hello Julian
On Monday 16 April 2012 16:25:23 Julian Anastasov wrote:
>
> Hello,
[snip]
>
> Note that net_generic() and net->ipvs can not be
> used after ops_exit/ops_free and failed ops_init.
>
I wonder if we are chasing ghosts...
With proper fault handling I can't even see a case when it (net->ipvs) can be
used.
Can you see a case when it could happen?
Still we can set it to NULL on error exit and cleanup as you suggested, that
doesn't harm I think.
A. If you add a netns and it fails the entire ns will be rolled back,
and no access to that ns can occur.
That ns does not exist
B. If you insert ip_vs.ko when having one or more name spaces and
__ip_vs_init() returns an error the module will be unloaded.
All ready loaded ns will not be affected.
C. insmod of ex. ip_vs_ftp only affects loaded name spaces
and if the load of ip_vs_ftp fails it will be unloaded without affecting
ip_vs(.ko)
(If ip_vs.ko is not loaded then it has to be loaded first case B...)
With a "compiled in" ip_vs case B doesn't exist.
With proper fault handling i.e. all ways returning fault codes to the netns
init,
there is no need for checking for "if (!net->ipvs)" or any other action.
--
Regards
Hans Schillstrom <hans.schillstrom@xxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe lvs-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
|