2007-08-10 08:18:31

by Alexey Dobriyan

[permalink] [raw]
Subject: Re: + sysctl-remove-binary-sysctl-support-where-it-clearly-doesnt-work.patch added to -mm tree

> @@ -1124,7 +1118,6 @@ static struct ctl_table fs_table[] = {
> .proc_handler = &proc_dointvec,
> },
> {
> - .ctl_name = FS_NRFILE,
> .procname = "file-nr",
> .data = &files_stat,
> .maxlen = 3*sizeof(int),

Why? It will work just fine through default sysctl(2) writeback.


2007-08-10 09:28:15

by Eric W. Biederman

[permalink] [raw]
Subject: Re: + sysctl-remove-binary-sysctl-support-where-it-clearly-doesnt-work.patch added to -mm tree

Alexey Dobriyan <[email protected]> writes:

>> @@ -1124,7 +1118,6 @@ static struct ctl_table fs_table[] = {
>> .proc_handler = &proc_dointvec,
>> },
>> {
>> - .ctl_name = FS_NRFILE,
>> .procname = "file-nr",
>> .data = &files_stat,
>> .maxlen = 3*sizeof(int),
>
> Why? It will work just fine through default sysctl(2) writeback.


Well write doesn't happen. But even more so proc_nr_files() dynamically
generates files_stat.nr_files. That doesn't happen on the generic
sysctl path, and thus it's broken.

Yes. I'm being picky, because at some point in the past before
that was a per cpu variable the code worked, and won't look broken
now unless you examine the contents of the data.

Eric

2007-08-10 09:54:32

by Alexey Dobriyan

[permalink] [raw]
Subject: Re: + sysctl-remove-binary-sysctl-support-where-it-clearly-doesnt-work.patch added to -mm tree

On Fri, Aug 10, 2007 at 03:26:52AM -0600, Eric W. Biederman wrote:
> Alexey Dobriyan <[email protected]> writes:
>
> >> @@ -1124,7 +1118,6 @@ static struct ctl_table fs_table[] = {
> >> .proc_handler = &proc_dointvec,
> >> },
> >> {
> >> - .ctl_name = FS_NRFILE,
> >> .procname = "file-nr",
> >> .data = &files_stat,
> >> .maxlen = 3*sizeof(int),
> >
> > Why? It will work just fine through default sysctl(2) writeback.
>
>
> Well write doesn't happen. But even more so proc_nr_files() dynamically
> generates files_stat.nr_files. That doesn't happen on the generic
> sysctl path, and thus it's broken.

I see now, thanks. CC'ing Dipankar who probably want to fix this.
Dipankar, fs.file-nr always contains stale data in nr_files field unless
you regenerate it by reading /proc/sys/fs/file-nr :)

> Yes. I'm being picky, because at some point in the past before
> that was a per cpu variable the code worked, and won't look broken
> now unless you examine the contents of the data.

More than year passed, nobody noticed until now, probably FS_NRFILE
should go.