odirect_enable, overflowuid and overflowgid entries are missing
from /proc/sys/fs directory.
Because fs/sysctls.c file is not included in the compilation.
The reason is broken Makefile
obj-$(CONFIG_SYSCTL)            += sysctls.o
obj-y := ....
file is first included but then there is an assignment and file
is not included anymore. To fix correct the order of adding and
setting object files.

next is initiallization - early_initcall is much too early.
switch to fs_initcall style like other files are registered in
/proc/sys/fs.

https://virtuozzo.atlassian.net/browse/PSBM-156472
Signed-off-by: Alexander Atanasov <alexander.atana...@virtuozzo.com>
---
 fs/Makefile  | 3 ++-
 fs/sysctls.c | 9 +++++----
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/fs/Makefile b/fs/Makefile
index 2da0c7704758d..0085cc689ba3d 100644
--- a/fs/Makefile
+++ b/fs/Makefile
@@ -6,7 +6,6 @@
 # Rewritten to use lists instead of if-statements.
 # 
 
-obj-$(CONFIG_SYSCTL)           += sysctls.o
 
 obj-y :=       open.o read_write.o file_table.o super.o \
                char_dev.o stat.o exec.o pipe.o namei.o fcntl.o \
@@ -18,6 +17,8 @@ obj-y :=      open.o read_write.o file_table.o super.o \
                fs_types.o fs_context.o fs_parser.o fsopen.o init.o \
                kernel_read_file.o remap_range.o
 
+obj-$(CONFIG_SYSCTL)           += sysctls.o
+
 ifeq ($(CONFIG_BLOCK),y)
 obj-y +=       buffer.o direct-io.o mpage.o
 else
diff --git a/fs/sysctls.c b/fs/sysctls.c
index 089755ccc5cda..990e8ac634c1e 100644
--- a/fs/sysctls.c
+++ b/fs/sysctls.c
@@ -6,6 +6,8 @@
  */
 #include <linux/init.h>
 #include <linux/sysctl.h>
+#include <linux/stat.h>
+#include <linux/ve.h>
 
 static struct ctl_table fs_shared_sysctls[] = {
        {
@@ -36,11 +38,10 @@ static struct ctl_table fs_shared_sysctls[] = {
        { }
 };
 
-DECLARE_SYSCTL_BASE(fs, fs_shared_sysctls);
-
 static int __init init_fs_sysctls(void)
 {
-       return register_sysctl_base(fs);
+       register_sysctl_init("fs", fs_shared_sysctls);
+       return 0;
 }
 
-early_initcall(init_fs_sysctls);
+fs_initcall(init_fs_sysctls);
-- 
2.43.0

_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to