[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <02591c1e-936b-46bf-ad2b-402b33338eee@p183>
Date: Wed, 11 Oct 2023 21:24:21 +0300
From: Alexey Dobriyan <adobriyan@...il.com>
To: akpm@...ux-foundation.org
Cc: linux-kernel@...r.kernel.org, Al Viro <viro@...iv.linux.org.uk>
Subject: [PATCH] fs: move and constify sysctl_nr_open_min, sysctl_nr_open_max
sysctl_nr_open_min, sysctl_nr_open_max variables are really hard limits
on fs.nr_open sysctl, they aren't interesting to the rest of the code
and are constants (sysctl_nr_open is not constant obviously).
Signed-off-by: Alexey Dobriyan <adobriyan@...il.com>
---
fs/file.c | 5 -----
fs/file_table.c | 10 ++++++++--
include/linux/file.h | 2 --
3 files changed, 8 insertions(+), 9 deletions(-)
--- a/fs/file.c
+++ b/fs/file.c
@@ -25,11 +25,6 @@
#include "internal.h"
unsigned int sysctl_nr_open __read_mostly = 1024*1024;
-unsigned int sysctl_nr_open_min = BITS_PER_LONG;
-/* our min() is unusable in constant expressions ;-/ */
-#define __const_min(x, y) ((x) < (y) ? (x) : (y))
-unsigned int sysctl_nr_open_max =
- __const_min(INT_MAX, ~(size_t)0/sizeof(void *)) & -BITS_PER_LONG;
static void __free_fdtable(struct fdtable *fdt)
{
--- a/fs/file_table.c
+++ b/fs/file_table.c
@@ -111,6 +111,12 @@ static int proc_nr_files(struct ctl_table *table, int write, void *buffer,
return proc_doulongvec_minmax(table, write, buffer, lenp, ppos);
}
+static const unsigned int sysctl_nr_open_min = BITS_PER_LONG;
+/* our min() is unusable in constant expressions ;-/ */
+#define __const_min(x, y) ((x) < (y) ? (x) : (y))
+static const unsigned int sysctl_nr_open_max =
+ __const_min(INT_MAX, ~(size_t)0/sizeof(void *)) & -BITS_PER_LONG;
+
static struct ctl_table fs_stat_sysctls[] = {
{
.procname = "file-nr",
@@ -134,8 +140,8 @@ static struct ctl_table fs_stat_sysctls[] = {
.maxlen = sizeof(unsigned int),
.mode = 0644,
.proc_handler = proc_dointvec_minmax,
- .extra1 = &sysctl_nr_open_min,
- .extra2 = &sysctl_nr_open_max,
+ .extra1 = (void *)&sysctl_nr_open_min,
+ .extra2 = (void *)&sysctl_nr_open_max,
},
{ }
};
--- a/include/linux/file.h
+++ b/include/linux/file.h
@@ -113,6 +113,4 @@ int receive_fd_replace(int new_fd, struct file *file, unsigned int o_flags);
extern void flush_delayed_fput(void);
extern void __fput_sync(struct file *);
-extern unsigned int sysctl_nr_open_min, sysctl_nr_open_max;
-
#endif /* __LINUX_FILE_H */
Powered by blists - more mailing lists