Kernel Bug Tracker – Bug 60836
Non-existing inode-max documented
Last modified: 2013-09-04 08:05:06 UTC
Created attachment 107391 [details]
Drop references to prehistoric /proc/sys/fs/inode-max
Both Linux man pages and kernel's Documentation/sysctl/fs.txt document /proc/sys/fs/inode-max which was gone in early 2.3 (~14 years ago).
My patch proposal for man pages attached, however I'm uncertain how preshrink works these days so please double check before applying.
(In reply to Marko Myllynen from comment #0)
> Created attachment 107391 [details]
> Drop references to prehistoric /proc/sys/fs/inode-max
Man-pages tends to keep historical information, so rather than dropping the text, it's best to describe when it ceased to be true.
> Both Linux man pages and kernel's Documentation/sysctl/fs.txt document
> /proc/sys/fs/inode-max which was gone in early 2.3 (~14 years ago).
Sad, but true: the documentation is way out of date.
> My patch proposal for man pages attached, however I'm uncertain how
> preshrink works these days so please double check before applying.
"preshrink" also went away in Linux 2.4, it seems: it is nowadays a dummy value (always zero).
I've applied thge patch below. Thanks for the report.
diff --git a/man5/proc.5 b/man5/proc.5
index 1c42717..e40dd4d 100644
@@ -2497,15 +2497,6 @@ The kernel constant
imposes an upper limit on the value that may be placed in
.IR file-max .
-If you increase
-.IR /proc/sys/fs/file-max ","
-be sure to increase
-to 3-4 times the new
-.IR /proc/sys/fs/file-max ","
-or you will run out of inodes.
.RB ( CAP_SYS_ADMIN )
can override the
@@ -2531,15 +2522,18 @@ a past peak in the usage of open file handles.
Since Linux 2.6, the kernel does deallocate freed file handles,
and the "free file handles" value is always zero.
+.IR /proc/sys/fs/inode-max " (only present until Linux 2.2)"
This file contains the maximum number of in-memory inodes.
-On some (2.4) systems, it may not be present.
This value should be 3-4 times larger
than the value in
.IR file-max ,
since \fIstdin\fP, \fIstdout\fP
and network sockets also need an inode to handle them.
When you regularly run out of inodes, you need to increase this value.
+Starting with Linux 2.4,
+there is no longer a static limit on the number of inodes,
+and this file is removed.
This file contains the first two values from
@@ -2551,20 +2545,23 @@ contains seven numbers:
.IR nr_inodes ,
.IR nr_free_inodes ,
.IR preshrink ,
-and four dummy values.
+and four dummy values (always zero).
is the number of inodes the system has allocated.
-This can be slightly more than
-because Linux allocates them one page full at a time.
+.\" This can be slightly more than
+.\" .I inode-max
+.\" because Linux allocates them one page full at a time.
represents the number of free inodes.
is nonzero when the
-and the system needs to prune the inode list instead of allocating more.
+and the system needs to prune the inode list instead of allocating more;
+since Linux 2.4, this field is a dummy value (always zero).
.IR /proc/sys/fs/inotify " (since Linux 2.6.13)"
This directory contains files