Hello,
On Fri, 13 Apr 2012, Hans Schillstrom wrote:
> Hello Julian
> On Friday 13 April 2012 10:44:02 Julian Anastasov wrote:
> > Avoid crash when registering applications (ftp) when
> > the IPVS core initialization for netns fails. Do this by
> > checking for present core (net->ipvs) when registering apps.
> >
> > As result this gets rid of the ftp_app pointer and allows
> > applications to be registered without adding fields in the
> > netns_ipvs structure.
> >
> > Also, make sure applications are unregistered from the
> > core automatically, should not be needed in theory.
> >
>
> I think we can do this much simpler,
> remove the auto init of ftp (ip_vs_ftp_init and ip_vs_ftp_exit)
> and let ip_vs_app call __ip_vs_ftp_init() as a we do with the protocols.
>
> If the init fails before ip_vs_app_net_init() ftp init will not be called
> and if it fails after a proper cleanup will be performed.
>
> i.e. same design every where.
>
> ex remove the
> ip_vs_ftp_init(void)
> ip_vs_ftp_exit(void)
OK, go ahead. But also change init_netns for
proto (and now for apps) to return int error. Now
__ip_vs_tcp_init does not return error if the
pd->timeout_table allocation fails. This is fatal.
May be you can do this change on top of these
two patches because init_netns for ftp should be NULL,
we do not need to allocate anything for netns. Only
&ip_vs_ftp should go in some new global list to be cloned
for every netns as my 2nd patch:
- new: global list for registered apps
- present: app per netns: to hold incs_list
- present: inc (app instance for port) per netns: to hold the
instance in the per-netns context of proto
Regards
--
Julian Anastasov <ja@xxxxxx>
--
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
|