Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[linux/fpc-iii.git] / fs / nfs / sysctl.c
blob6b3f2535a3ec7ae5c840696956288c41dac84021
1 /*
2 * linux/fs/nfs/sysctl.c
4 * Sysctl interface to NFS parameters
5 */
6 #include <linux/types.h>
7 #include <linux/linkage.h>
8 #include <linux/ctype.h>
9 #include <linux/fs.h>
10 #include <linux/sysctl.h>
11 #include <linux/module.h>
12 #include <linux/nfs_fs.h>
14 static struct ctl_table_header *nfs_callback_sysctl_table;
16 static ctl_table nfs_cb_sysctls[] = {
18 .procname = "nfs_mountpoint_timeout",
19 .data = &nfs_mountpoint_expiry_timeout,
20 .maxlen = sizeof(nfs_mountpoint_expiry_timeout),
21 .mode = 0644,
22 .proc_handler = proc_dointvec_jiffies,
25 .procname = "nfs_congestion_kb",
26 .data = &nfs_congestion_kb,
27 .maxlen = sizeof(nfs_congestion_kb),
28 .mode = 0644,
29 .proc_handler = proc_dointvec,
31 { }
34 static ctl_table nfs_cb_sysctl_dir[] = {
36 .procname = "nfs",
37 .mode = 0555,
38 .child = nfs_cb_sysctls,
40 { }
43 static ctl_table nfs_cb_sysctl_root[] = {
45 .procname = "fs",
46 .mode = 0555,
47 .child = nfs_cb_sysctl_dir,
49 { }
52 int nfs_register_sysctl(void)
54 nfs_callback_sysctl_table = register_sysctl_table(nfs_cb_sysctl_root);
55 if (nfs_callback_sysctl_table == NULL)
56 return -ENOMEM;
57 return 0;
60 void nfs_unregister_sysctl(void)
62 unregister_sysctl_table(nfs_callback_sysctl_table);
63 nfs_callback_sysctl_table = NULL;