1 // SPDX-License-Identifier: GPL-2.0 1 // SPDX-License-Identifier: GPL-2.0 2 /* 2 /* 3 * linux/fs/nfs/sysctl.c 3 * linux/fs/nfs/sysctl.c 4 * 4 * 5 * Sysctl interface to NFS parameters 5 * Sysctl interface to NFS parameters 6 */ 6 */ 7 #include <linux/types.h> 7 #include <linux/types.h> 8 #include <linux/linkage.h> 8 #include <linux/linkage.h> 9 #include <linux/ctype.h> 9 #include <linux/ctype.h> 10 #include <linux/fs.h> 10 #include <linux/fs.h> 11 #include <linux/sysctl.h> 11 #include <linux/sysctl.h> 12 #include <linux/module.h> 12 #include <linux/module.h> 13 #include <linux/nfs_fs.h> 13 #include <linux/nfs_fs.h> 14 14 15 static struct ctl_table_header *nfs_callback_s 15 static struct ctl_table_header *nfs_callback_sysctl_table; 16 16 17 static struct ctl_table nfs_cb_sysctls[] = { 17 static struct ctl_table nfs_cb_sysctls[] = { 18 { 18 { 19 .procname = "nfs_mountpo 19 .procname = "nfs_mountpoint_timeout", 20 .data = &nfs_mountpo 20 .data = &nfs_mountpoint_expiry_timeout, 21 .maxlen = sizeof(nfs_m 21 .maxlen = sizeof(nfs_mountpoint_expiry_timeout), 22 .mode = 0644, 22 .mode = 0644, 23 .proc_handler = proc_dointve 23 .proc_handler = proc_dointvec_jiffies, 24 }, 24 }, 25 { 25 { 26 .procname = "nfs_congest 26 .procname = "nfs_congestion_kb", 27 .data = &nfs_congest 27 .data = &nfs_congestion_kb, 28 .maxlen = sizeof(nfs_c 28 .maxlen = sizeof(nfs_congestion_kb), 29 .mode = 0644, 29 .mode = 0644, 30 .proc_handler = proc_dointve 30 .proc_handler = proc_dointvec, 31 }, 31 }, >> 32 { } >> 33 }; >> 34 >> 35 static struct ctl_table nfs_cb_sysctl_dir[] = { >> 36 { >> 37 .procname = "nfs", >> 38 .mode = 0555, >> 39 .child = nfs_cb_sysctls, >> 40 }, >> 41 { } >> 42 }; >> 43 >> 44 static struct ctl_table nfs_cb_sysctl_root[] = { >> 45 { >> 46 .procname = "fs", >> 47 .mode = 0555, >> 48 .child = nfs_cb_sysctl_dir, >> 49 }, >> 50 { } 32 }; 51 }; 33 52 34 int nfs_register_sysctl(void) 53 int nfs_register_sysctl(void) 35 { 54 { 36 nfs_callback_sysctl_table = register_s !! 55 nfs_callback_sysctl_table = register_sysctl_table(nfs_cb_sysctl_root); 37 if (nfs_callback_sysctl_table == NULL) 56 if (nfs_callback_sysctl_table == NULL) 38 return -ENOMEM; 57 return -ENOMEM; 39 return 0; 58 return 0; 40 } 59 } 41 60 42 void nfs_unregister_sysctl(void) 61 void nfs_unregister_sysctl(void) 43 { 62 { 44 unregister_sysctl_table(nfs_callback_s 63 unregister_sysctl_table(nfs_callback_sysctl_table); 45 nfs_callback_sysctl_table = NULL; 64 nfs_callback_sysctl_table = NULL; 46 } 65 } 47 66
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.