Re: linux-next: manual merge of the vfs tree with the parisc-hd tree

From: Luis Chamberlain
Date: Wed May 13 2020 - 10:14:26 EST


On Wed, May 13, 2020 at 08:42:30AM -0500, Eric W. Biederman wrote:
> Luis Chamberlain <mcgrof@xxxxxxxxxx> writes:
>
> > On Tue, May 12, 2020 at 12:40:55PM -0500, Eric W. Biederman wrote:
> >> Luis Chamberlain <mcgrof@xxxxxxxxxx> writes:
> >>
> >> > On Tue, May 12, 2020 at 06:52:35AM -0500, Eric W. Biederman wrote:
> >> >> Luis Chamberlain <mcgrof@xxxxxxxxxx> writes:
> >> >>
> >> >> > +static struct ctl_table fs_base_table[] = {
> >> >> > + {
> >> >> > + .procname = "fs",
> >> >> > + .mode = 0555,
> >> >> > + .child = fs_table,
> >> >> > + },
> >> >> > + { }
> >> >> > +};
> >> >> ^^^^^^^^^^^^^^^^^^^^^^^^ You don't need this at all.
> >> >> > > +static int __init fs_procsys_init(void)
> >> >> > +{
> >> >> > + struct ctl_table_header *hdr;
> >> >> > +
> >> >> > + hdr = register_sysctl_table(fs_base_table);
> >> >> ^^^^^^^^^^^^^^^^^^^^^ Please use register_sysctl instead.
> >> >> AKA
> >> >> hdr = register_sysctl("fs", fs_table);
> >> >
> >> > Ah, much cleaner thanks!
> >>
> >> It is my hope you we can get rid of register_sysctl_table one of these
> >> days. It was the original interface but today it is just a
> >> compatibility wrapper.
> >>
> >> I unfortunately ran out of steam last time before I finished converting
> >> everything over.
> >
> > Let's give it one more go. I'll start with the fs stuff.
>
> Just to be clear moving the tables out of kernel/sysctl.c is a related
> but slightly different problem.

Sure, but also before we go on this crusade, how about we add a few
helpers:

register_sysctl_kernel()
register_sysctl_vm()
register_sysctl_fs()
register_sysctl_debug()
register_sysctl_dev()

That should make it easier to look for these, and shorter. We *know*
this is a common path, given the size of the existing table.

> Today it looks like there are 35 calls of register_sysctl_table
> and 9 calls of register_sysctl_paths.
>
> Among them is lib/sysctl_test.c and check-sysctl-docs.
>
> Meanwhile I can only find 5 calls to register_sysctl in the tree
> so it looks like I didn't get very far converting things over.

While we're on the spring cleaning topic, I've tried to put what I can
think of for TODO items here, anything else? Feel free to edit, its a
wiki after all.

https://kernelnewbies.org/KernelProjects/proc

Feel free to add wishlist items.

Luis