lkml.org 
[lkml]   [2023]   [Oct]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
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@gmail.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 */
\
 
 \ /
  Last update: 2023-10-11 20:25    [W:0.083 / U:0.408 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site