perusing yet more filesystem-related source code, and i was
wondering why the kernel data value "nr_open" is not visible
under /proc/sys/fs, since it's always possible someone might want to
know what it is.
first, there's the actual variable "sysctl_nr_open" in fs/file.c:
int sysctl_nr_open __read_mostly = 1024*1024;
next, there's the definition of the /proc entries in
kernel/sysctl.c, including:
static struct ctl_table fs_table[] = {
{
...
{
.ctl_name = CTL_UNNUMBERED,
.procname = "nr_open",
.data = &sysctl_nr_open,
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = &proc_dointvec,
},
...
but notice how that entry (unlike other entries in that array) has a
ctl_name of CTL_UNNUMBERED. i suspect that's the problem based on
what i see in include/linux/sysctl.h:
/* CTL_FS names: */
enum
{
FS_NRINODE=1, /* int:current number of allocated inodes */
FS_STATINODE=2,
FS_MAXINODE=3, /* int:maximum number of inodes that can be allocated */
FS_NRDQUOT=4, /* int:current number of allocated dquots */
FS_MAXDQUOT=5, /* int:maximum number of dquots that can be allocated */
FS_NRFILE=6, /* int:current number of allocated filedescriptors */
FS_MAXFILE=7, /* int:maximum number of filedescriptors that can be
allocated */
... and so on ...
there's no enumeration value for FS_NROPEN. and then there's the doc
file Documentation/sysctl/ctl_unnumbered.txt, which discusses these
"unnumbered" things but which i don't really understand.
so ... is there a reason that something as simple as "nr_open"
shouldn't be visible under /proc/sys/fs? just curious.
rday
--
========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry:
Have classroom, will lecture.
http://crashcourse.ca Waterloo, Ontario, CANADA
========================================================================
--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to [EMAIL PROTECTED]
Please read the FAQ at http://kernelnewbies.org/FAQ