net: Implement register_net_sysctl.
Right now all of the networking sysctl registrations are running in a compatibiity mode. The natvie sysctl registration api takes a cstring for a path and a simple ctl_table. Implement register_net_sysctl so that we can register network sysctls without needing to use compatiblity code in the sysctl core. Switching from a ctl_path to a cstring results in less boiler plate and denser code that is a little easier to read. I would simply have changed the arguments to register_net_sysctl_table instead of keeping two functions in parallel but gcc will allow a ctl_path pointer to be passed to a char * pointer with only issuing a warning resulting in completely incorrect code can be built. Since I have to change the function name I am taking advantage of the situation to let both register_net_sysctl and register_net_sysctl_table live for a short time in parallel which makes clean conversion patches a bit easier to read and write. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Acked-by: Pavel Emelyanov <xemul@parallels.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
167de77fd4
commit
ab41a2ca50
|
@ -287,6 +287,8 @@ extern struct ctl_table_header *register_net_sysctl_table(struct net *net,
|
|||
const struct ctl_path *path, struct ctl_table *table);
|
||||
extern struct ctl_table_header *register_net_sysctl_rotable(
|
||||
const struct ctl_path *path, struct ctl_table *table);
|
||||
extern struct ctl_table_header *register_net_sysctl(struct net *net,
|
||||
const char *path, struct ctl_table *table);
|
||||
extern void unregister_net_sysctl_table(struct ctl_table_header *header);
|
||||
|
||||
#endif /* __NET_NET_NAMESPACE_H */
|
||||
|
|
|
@ -117,6 +117,13 @@ struct ctl_table_header *register_net_sysctl_rotable(const
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(register_net_sysctl_rotable);
|
||||
|
||||
struct ctl_table_header *register_net_sysctl(struct net *net,
|
||||
const char *path, struct ctl_table *table)
|
||||
{
|
||||
return __register_sysctl_table(&net->sysctls, path, table);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(register_net_sysctl);
|
||||
|
||||
void unregister_net_sysctl_table(struct ctl_table_header *header)
|
||||
{
|
||||
unregister_sysctl_table(header);
|
||||
|
|
Loading…
Reference in New Issue